大家好 项目中有2个类 头等舱是一种形式。就像这样。
public partial class Form3 : Form
{
public Form3()
{
InitializeComponent();
}
private void Form3_Load(object sender, EventArgs e)
{
}
}
}
//和另一类这样的
public class Sample
{
public void MyMethod()
{
//My Codes
}
}
现在我想了解这一点
当我在Form3或其他类中调用MyMethod
时,我想知道哪个类叫MyMethod
?
感谢。
答案 0 :(得分:3)
在运行时,您可以使用以下代码检查方法名称和声明类型。
StackTrace trace=new StackTrace();
StackFrame[] stackFrames = trace.GetFrames();
foreach (var stackFrame in stackFrames)
{
string methodName= stackFrame.GetMethod().Name;
string declearingClass=stackFrame.GetMethod().DeclaringType.Name;
}
你可以跳过第一帧来确切地知道你的函数从哪里调用
StackFrame[] stackFrames = trace.GetFrames().Skip(1).ToArray();
答案 1 :(得分:1)
接受一个类型对象作为参数之一。
public class Sample
{
public void MyMethod(Type CallerType)
{
//My Codes
}
}
当您调用该方法调用时
SampleObj.MyMethod(this.gettype());
答案 2 :(得分:0)
1)在MyMethod()
中放置一个断点2)运行您的应用程序
3)等到该断点到达
4)看看堆栈跟踪
或者:
1)在MyMethod中抛出并捕获异常
2)打印异常堆栈跟踪
答案 3 :(得分:0)
在visual studio中,右键单击MyMethod
- >查找所有参考文献。
或者,CTRL-K,R,光标在方法上。