有没有办法以编程方式获取当前代码正在执行的方法或属性的名称?
void Test()
{
MessageBox.Show("This is a message from " + GetNameOfCurrentMethod);
}
我想过抛出一个异常,捕获它并解析堆栈跟踪,但应该有更好的方法来做到这一点。
有没有办法以编程方式获取当前代码正在执行的方法或属性的名称?
void Test()
{
MessageBox.Show("This is a message from " + GetNameOfCurrentMethod);
}
我想过抛出一个异常,捕获它并解析堆栈跟踪,但应该有更好的方法来做到这一点。
尝试:
MethodInfo.GetCurrentMethod().Name
System.Reflection.MethodBase.GetCurrentMethod().Name;
你搜索过吗?C#如何从代码中获取当前方法的名称
目前不相关,但对于未来的读者,.NET 4.5 引入了一个CallerMemberNameAttribute
可应用于可选方法参数以获取调用者信息的方法(前提是它不会从 Beta 版删除到 RTM!)。http://msdn.microsoft.com/en-us/library/hh534540(v=vs.110).aspx