当前位置:  开发笔记 > 编程语言 > 正文

获取当前方法名称

如何解决《获取当前方法名称》经验,为你挑选了1个好方法。

我想要调用当前Handler的名称.

MethodInfo.GetCurrentMethod().Name或者MethodBase.GetCurrentMethod().Name在调试模式下正常工作.

但是一旦我混淆了(使用confuserEx)我的项目,2个函数就会返回"System.Reflection.MethodBase ()".

我注意到我可以使用以下行获取我的函数名称: ((RoutedEventHandler)this.MyMethodName).GetMethodInfo().Name

它返回"MyMethodName"哪个是预期结果.

但它根本不是通用的.当我不知道当前方法的名称时,我想要一段代码.



1> L-Four..:

如前所述这里:

在编译时,调用者信息值作为文字发送到中间语言(IL).与异常的StackTrace属性的结果不同,结果不受混淆的影响.

因此,从您的方法,您可以尝试调用以下方法,如:

public string GetCaller([System.Runtime.CompilerServices.CallerMemberName] string memberName = "")
{
     return memberName;
}

推荐阅读
无名有名我无名_593
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有