.NET:有没有办法知道当前正在执行的代码所在的方法?(用于记录类)

MrG*_*les 4 .net c# logging

我正在用C#编写日志类,并希望添加进行日志调用的方法.手动执行此操作并不太吸引人.有没有办法知道当前正在执行的代码所在的方法?

提前感谢您的精彩......

格雷格

编辑:使用MethodBase ...

 System.Reflection.MethodBase thisMethod = System.Reflection.MethodBase.GetCurrentMethod();
 Console.WriteLine("This method is: " + thisMethod.Name);
Run Code Online (Sandbox Code Playgroud)

And*_*are 13

用途MethodBase.GetCurrentMethod:

返回表示当前正在执行的方法的MethodBase对象.

MethodBase类型具有一个Name属性,该属性是当前正在执行的方法的名称作为字符串.

作为旁注,也许您应该查看现有的日志记录框架,这样您就不必重新发明轮子.

  • 注意重复调用此反射方法的费用,尽可能缓存调用(例如进入/退出日志记录). (6认同)