在静态方法里,怎么能得到调用者的类名?
在静态方法里,怎么能得到调用者的类名?
比如我有一个静态方法:
public class myClass
{
public void fun()
{
xhelper.helpM();
}
}
public class xhelper
{
public static void helpM()
{
//这里怎么能得到当前的调用者类名myClass?
}
}
------解决方案--------------------给方法helpM传递一个调用者的指针
C# code
static void helpM(object sender)
{
//获取调用者的Type类型,然后想怎么玩怎么玩。
var type = sender.GetType();
}
------解决方案--------------------
顶 2楼的!!
------解决方案--------------------
public static void helpM(object o)
{
Type type=o.GetType();
type.Name;//这里就是调用者的类名
//这里怎么能得到当前的调用者类名myClass?
}
------解决方案--------------------
------解决方案--------------------
System.Diagnostics.StackTrace st = new System.Diagnostics.StackTrace();
string name = st.GetFrame(1).GetMethod().Name;
然后大概可以反射出来,吧
------解决方案--------------------
LS正解,晚来一步,通过StackTrace上去
------解决方案--------------------
反射效率都不高,你还是用前面的方法效率比较高,