【问题标题】:How to get method name win 8 app如何获取方法名称 win 8 app
【发布时间】:2012-10-25 18:30:28
【问题描述】:

如何在 win 8(WinRT) 应用程序中获取当前方法名称...在 wp7 早期我们可以使用 System.Reflection.MethodBase.GetCurrentMethod().Name 但它不再存在了,谢谢

【问题讨论】:

  • 您是指在 WinRT 中吗? GetCurrentMethod 肯定在 .NET 4.5..

标签: c# windows-8


【解决方案1】:

是的,.NETCore 缺少很多这样的东西......甚至不要让我在GetTypeInfo()开始!但也许一个实用的解决方法是让编译器为你做这件事?

string CallerName([CallerMemberName]string caller = "")
{
    return caller;
}
...
string name = CallerName();

【讨论】:

  • @CognitiveDesire 它也会更快 - 零反射。因此,如果您使用多个目标框架,则值得考虑在所有支持它的框架上使用它。
【解决方案2】:

如果您需要覆盖方法,此选项会很有帮助

private string GetMethodName(Expression<Action> expression)
{
    var methodName = (expression.Body as MethodCallExpression).Method.Name;
    return methodName;
}

那就这样称呼吧

GetMethodName(() => TheNameOfTheCallingMethod());

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-10-25
    • 2012-03-27
    • 1970-01-01
    • 1970-01-01
    • 2013-07-07
    • 2010-09-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多