C# · 12月 26, 2021

登录C#:获取类/方法名称性能

我最近的任务是将日志语句添加到解决方案中的每个方法调用.这些日志条目需要包含类和方法名称.

我知道我可以使用MethodBase.GetCurrentMethod()和StackFrame.getmethod()方法.哪个更好?是否有更好(或更高性能)的方法来获取类和方法名称?

解决方法 我有两个建议:

>使用现成的AOP框架(如http://www.sharpcrafters.com/),他们可以轻松处理这个问题
>执行自定义预构建操作,在每个方法的开头替换某种存根:

void PerformSomeAction()
{
// PUT_LOGGING_HERE
}

然后在自定义工具中用方法名称替换那些存根.这是保证最快的方法,但需要一些投资.