2

有没有办法以编程方式获取当前代码正在执行的方法或属性的名称?

void Test() { MessageBox.Show("This is a message from " + GetNameOfCurrentMethod); }

我想过抛出一个异常,捕获它并解析堆栈跟踪,但应该有更好的方法来做到这一点。

4

4 回答 4

4

尝试:

MethodInfo.GetCurrentMethod().Name
于 2012-04-17T11:58:54.873 回答
2
System.Reflection.MethodBase.GetCurrentMethod().Name;
于 2012-04-17T11:58:51.410 回答
1

你搜索过吗?C#如何从代码中获取当前方法的名称

于 2012-04-17T12:00:10.740 回答
0

目前不相关,但对于未来的读者,.NET 4.5 引入了一个CallerMemberNameAttribute可应用于可选方法参数以获取调用者信息的方法(前提是它不会从 Beta 版删除到 RTM!)。http://msdn.microsoft.com/en-us/library/hh534540(v=vs.110).aspx

于 2012-04-17T12:18:33.813 回答