在 C# 中从函数中获取当前执行函数的名称

本文关键字:函数 执行 获取 | 更新日期: 2023-09-27 18:31:19

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

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

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

在 C# 中从函数中获取当前执行函数的名称

尝试:

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