如何在win 10通用应用程序中获取调用方法名称

How to get calling method name in win 10 universal app

我正在将我的应用程序从 Windows phone 8.1 迁移到 Win10 通用应用程序。 有一次我需要调用方法的名称。以前我这样做使用:

new StackFrame(1).GetMethod().Name

但是这个 API 不再支持,因为我在 https://github.com/dotnet/corefx/issues/1420

中发现

出于某些日志记录原因,我需要调用方法的名称。谁能帮帮我?

请注意,此实现将要求您在希望访问调用方法名称的方法中定义可选参数。因此,如果您仅在特定位置需要它(例如:将记录异常的方法),那么您可以使用 System.Runtime.CompilerServices 命名空间中的 CallerMemberName 属性。

您可以在 CallerMemberNameAttribute class documentation

中查看示例