刚才在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 Native Interface (JNI)、JAWINJNative和JNA等技术来实现。这些技术允许Java...
在IT行业中,有时我们需要在Java程序中调用第三方的DLL(动态链接库)文件,这通常是C或C++编写的库。Java Native Access (JNA) 是一个流行的开源框架,它允许Java代码直接调用本机库函数,而无需编写JNI(Java ...
本文将详细介绍如何在C#中调用API函数获取系统信息。API函数是构筑Windows应用程序的基石,是Windows编程的必备利器。每一种Windows应用程序开发工具都提供了间接或直接调用了Windows API函数的方法,或者是调用...
Java是一种跨平台的编程语言,但在与底层操作系统交互时,比如调用Windows系统的动态链接库(DLL)中的方法,就需要一些特殊的工具和技术。本实例主要介绍如何使用Java和jawin库来实现DLL方法的调用。 jawin是一个...
在Android开发中,有时我们需要利用C或C++编写的库来实现特定功能,这些库通常以.so文件的形式存在,被称为动态链接库。标题中的“调用第三方so库文件”涉及到了Android应用程序与本地代码(Native Code)的交互,...
这篇内容将深入探讨如何在Android应用中调用已编译的第三方.so库,以实现Java与C/C++之间的交互。 首先,了解JNI(Java Native Interface)是关键。JNI是Java平台的标准组成部分,它允许Java代码和其他语言写的代码...
在IT行业中,与“调用阿里云获取城市天气接口”相关的知识点主要涉及到API接口的使用、网络编程、C#编程语言以及数据解析等技术。以下是对这些知识点的详细说明: 首先,API(Application Programming Interface)...
WebService调用第三方服务是软件开发中的常见操作,特别是在构建分布式系统和实现跨平台通信时。本案例主要关注如何使用WebService来实现中英文自动转换的功能,这通常涉及到XML、SOAP(Simple Object Access ...
如果成功,则通过`resolve`方法获取`add`函数的地址,并通过该地址调用`add`函数。 ##### 3. 配置动态库路径 在Qt项目中使用动态库时,还需要注意库文件的路径配置。可以通过以下几种方式来指定动态库的路径: - ...
在IT行业中,第三方调用WPS(Kingsoft Office)是一种常见的技术实践,它允许开发者集成WPS的功能到自己的应用程序中,以实现文档编辑、查看、转换等操作。本示例将详细阐述如何进行第三方调用WPS,并通过提供的WPS_...
反射是.NET框架中的一项重要技术,它允许程序在运行时动态地获取自身的元数据(如类、方法、属性等)并进行操作。具体而言,反射主要有以下几个作用: 1. **动态创建类型的实例**:通过反射,程序可以在运行时动态...
在`.cpp`文件中包含插件的头文件,并使用`FMyPlugin::Instance()`获取插件的单例对象,然后调用其公开的方法。 8. **调试与测试** 编译并运行项目,确保插件正确加载,第三方库功能可用。可能需要在UE4编辑器的...
在IT行业中,Web服务是...通过分析和学习这个示例,开发者可以更好地理解和掌握在Android中调用WebService获取信息的方法。记住,理解网络请求的基本流程和错误处理策略对于任何Android开发者来说都是非常重要的技能。
在.NET框架中,C#作为常用的编程语言,有时我们需要调用非托管代码或者第三方库提供的功能,这时就需要用到调用外部DLL中的方法。本文将详细介绍如何在C#项目中引用并使用DLL文件,以及相关的步骤和技术要点。 首先...
在本文中,我们将深入探讨如何使用Spring Boot框架结合Forest、Okhttp和HttpClient这三种不同的库来调用第三方API,特别是以高德地图API为例。首先,让我们了解Spring Boot的基础知识,然后逐一分析这三个库以及它们...
在iOS开发中,Objective-C(OC)与JavaScript(JS)之间的交互是常见需求,尤其是在混合式移动应用开发中。这个示例项目提供了OC调用JS和JS调用OC的实现方式,帮助开发者更好地理解如何在两者之间进行通信。以下是...
总结一下,`Object.getPrototypeOf`是JavaScript中用于获取对象原型的关键工具,它在子类调用父类方法时起到了桥梁的作用。通过理解原型链的工作原理,我们可以更有效地实现继承和代码复用。在实际开发中,正确地...
当需要在LabVIEW中利用Python的丰富功能时,通常有以下三种方法来实现LabVIEW调用Python: 1. **通过脚本执行器(Script Executor)** LabVIEW提供了一个名为“Script Executor”的VIs(Virtual Instruments),...