首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

怎么获取调用方信息

2012-01-20 
如何获取调用方信息假设方法A调用了方法B,调用的过程并不传递参数,有没有办法在方法B中可以获得A的信息,例

如何获取调用方信息
假设方法A调用了方法B,调用的过程并不传递参数,有没有办法在方法B中可以获得A的信息,例如A的名称、程序集等信息。急~谢谢

[解决办法]
试一下System.Diagnostics.StackFrame类和反射:

using System;
using System.Diagnostics;
using System.Reflection;

namespace MyTest
{
public class TestM
{
public void Test()
{
StackFrame fr = new StackFrame(1,true);
MethodBase mb = fr.GetMethod();
Console.WriteLine(mb.Name);
Console.WriteLine(mb.DeclaringType.Assembly.GetName());
}
}
}

另外,也可以使用System.Reflection.Assembly.GetCallingAssembly 方法来获取调用当前程序集的程序集信息

热点排行