【发布时间】:2012-03-18 21:55:32
【问题描述】:
可能重复:
Retrieving the calling method name from within a method (C#)
我有一个班级说A,其中有一个名为Func1的方法;这个函数是静态的。
现在还有一些其他类说B,C使用A.Func1
如何获取包含正在调用的函数的类名?
即
public class A
{
public static void Func1()
{
// who called me?
}
}
public class B
{
public void CallFunc()
{
A.Func1();
}
}
public class C
{
public void AlsoCallFunc()
{
A.Func1();
}
}
【问题讨论】:
-
澄清问题,发布一些代码,帮助我们帮助你..
-
请参阅:stackoverflow.com/questions/615940/… - 但是,我强烈建议您删除此需求;这些技术充其量是脆弱的。几乎任何其他设计都会更可取。
-
实际上,我的情景是,在我的班级里有一个事件,在这个事件中,有一些基于调用 winform 的计算,这就是我需要这个的原因。
-
Marc 是对的——这是你能找到的最难闻的代码气味之一。不要这样做。
-
如果你有一个事件处理程序,它的第一个参数是发送者。也许您可以使用该发件人来获取呼叫表单。