`
javababy1
  • 浏览: 1225720 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

在被调用方法中如何获取调用方的相关信息

阅读更多

刚才在BBS中看到有人提这样一个问题.其实很早以前自己也有这样的想法.不过当时只是看了一下反射的类库,发觉实现不了,就作罢了.现在想想这个问题其实也简单,就是利用调用堆栈来获取这些信息.利用调用堆栈可以获取很多有用的信息.

由于代码比较简单,所以也不多说了:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Reflection;
using System.Diagnostics;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private void button1_Click(object sender, EventArgs e)
{
MyTest t = new MyTest();
t.add(1);
}
}

public class MyTest
{

public void add(int i)
{
i++;

StackTrace ss = new StackTrace(true);
Type t = ss.GetFrame(1).GetMethod().DeclaringType;
MessageBox.Show(t.FullName);
}
}
}

分享到:
评论

相关推荐

    JAVA调用DLL方法 JAVA调用DLL方

    本文将详细介绍如何在Java中调用DLL文件,并探讨几种常见的调用方法。 ### Java调用DLL的基本概念 在Java中调用DLL文件主要通过Java Native Interface (JNI)、JAWINJNative和JNA等技术来实现。这些技术允许Java...

    [测试通过]JAVA调用第三方DLL的简单方法:JNA及DEMO

    在IT行业中,有时我们需要在Java程序中调用第三方的DLL(动态链接库)文件,这通常是C或C++编写的库。Java Native Access (JNA) 是一个流行的开源框架,它允许Java代码直接调用本机库函数,而无需编写JNI(Java ...

    C#调用api接口

    本文将详细介绍如何在C#中调用API函数获取系统信息。API函数是构筑Windows应用程序的基石,是Windows编程的必备利器。每一种Windows应用程序开发工具都提供了间接或直接调用了Windows API函数的方法,或者是调用...

    java实例,通过jawin实现对dll中方法的调用

    Java是一种跨平台的编程语言,但在与底层操作系统交互时,比如调用Windows系统的动态链接库(DLL)中的方法,就需要一些特殊的工具和技术。本实例主要介绍如何使用Java和jawin库来实现DLL方法的调用。 jawin是一个...

    调用第三方so库文件

    在Android开发中,有时我们需要利用C或C++编写的库来实现特定功能,这些库通常以.so文件的形式存在,被称为动态链接库。标题中的“调用第三方so库文件”涉及到了Android应用程序与本地代码(Native Code)的交互,...

    android调用第三方so库

    这篇内容将深入探讨如何在Android应用中调用已编译的第三方.so库,以实现Java与C/C++之间的交互。 首先,了解JNI(Java Native Interface)是关键。JNI是Java平台的标准组成部分,它允许Java代码和其他语言写的代码...

    调用阿里云获取城市天气接口

    在IT行业中,与“调用阿里云获取城市天气接口”相关的知识点主要涉及到API接口的使用、网络编程、C#编程语言以及数据解析等技术。以下是对这些知识点的详细说明: 首先,API(Application Programming Interface)...

    WebService调用第三方服务的案例

    WebService调用第三方服务是软件开发中的常见操作,特别是在构建分布式系统和实现跨平台通信时。本案例主要关注如何使用WebService来实现中英文自动转换的功能,这通常涉及到XML、SOAP(Simple Object Access ...

    qt环境调用第三方库

    如果成功,则通过`resolve`方法获取`add`函数的地址,并通过该地址调用`add`函数。 ##### 3. 配置动态库路径 在Qt项目中使用动态库时,还需要注意库文件的路径配置。可以通过以下几种方式来指定动态库的路径: - ...

    第三方调用wps示例

    在IT行业中,第三方调用WPS(Kingsoft Office)是一种常见的技术实践,它允许开发者集成WPS的功能到自己的应用程序中,以实现文档编辑、查看、转换等操作。本示例将详细阐述如何进行第三方调用WPS,并通过提供的WPS_...

    C#实现反射调用动态加载的DLL文件中的方法

    反射是.NET框架中的一项重要技术,它允许程序在运行时动态地获取自身的元数据(如类、方法、属性等)并进行操作。具体而言,反射主要有以下几个作用: 1. **动态创建类型的实例**:通过反射,程序可以在运行时动态...

    UE4插件调用第三方库

    在`.cpp`文件中包含插件的头文件,并使用`FMyPlugin::Instance()`获取插件的单例对象,然后调用其公开的方法。 8. **调试与测试** 编译并运行项目,确保插件正确加载,第三方库功能可用。可能需要在UE4编辑器的...

    调用WebService获取信息

    在IT行业中,Web服务是...通过分析和学习这个示例,开发者可以更好地理解和掌握在Android中调用WebService获取信息的方法。记住,理解网络请求的基本流程和错误处理策略对于任何Android开发者来说都是非常重要的技能。

    C# 调用外部DLL中的方法

    在.NET框架中,C#作为常用的编程语言,有时我们需要调用非托管代码或者第三方库提供的功能,这时就需要用到调用外部DLL中的方法。本文将详细介绍如何在C#项目中引用并使用DLL文件,以及相关的步骤和技术要点。 首先...

    基于Springboot的Forest调用第三方API Demo

    在本文中,我们将深入探讨如何使用Spring Boot框架结合Forest、Okhttp和HttpClient这三种不同的库来调用第三方API,特别是以高德地图API为例。首先,让我们了解Spring Boot的基础知识,然后逐一分析这三个库以及它们...

    OC调用JS以及JS调用OC的demo调用JS以及JS调用OC的demo

    在iOS开发中,Objective-C(OC)与JavaScript(JS)之间的交互是常见需求,尤其是在混合式移动应用开发中。这个示例项目提供了OC调用JS和JS调用OC的实现方式,帮助开发者更好地理解如何在两者之间进行通信。以下是...

    JS在子类中用Object.getPrototypeOf去调用父类方法

    总结一下,`Object.getPrototypeOf`是JavaScript中用于获取对象原型的关键工具,它在子类调用父类方法时起到了桥梁的作用。通过理解原型链的工作原理,我们可以更有效地实现继承和代码复用。在实际开发中,正确地...

    LabVIEW 调用 Python的三种方法_labview调用python_LabviewPython_lookrj7_wor

    当需要在LabVIEW中利用Python的丰富功能时,通常有以下三种方法来实现LabVIEW调用Python: 1. **通过脚本执行器(Script Executor)** LabVIEW提供了一个名为“Script Executor”的VIs(Virtual Instruments),...

Global site tag (gtag.js) - Google Analytics