我想要调用当前Handler的名称.
MethodInfo.GetCurrentMethod().Name或者MethodBase.GetCurrentMethod().Name在调试模式下正常工作.
但是一旦我混淆了(使用confuserEx)我的项目,2个函数就会返回"System.Reflection.MethodBase ()".
我注意到我可以使用以下行获取我的函数名称:
((RoutedEventHandler)this.MyMethodName).GetMethodInfo().Name
它返回"MyMethodName"哪个是预期结果.
但它根本不是通用的.当我不知道当前方法的名称时,我想要一段代码.
L-F*_*our 15
如前所述这里:
在编译时,调用者信息值作为文字发送到中间语言(IL).与异常的StackTrace属性的结果不同,结果不受混淆的影响.
因此,从您的方法,您可以尝试调用以下方法,如:
public string GetCaller([System.Runtime.CompilerServices.CallerMemberName] string memberName = "")
{
return memberName;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10884 次 |
| 最近记录: |