1

使用 Console.Writeline() 时是否有当前函数名称的占位符?

4

4 回答 4

6

在反射中,您可以选择 MethodBase.GetCurrentMethod()。

于 2012-02-22T22:39:44.573 回答
6

我相信这就是您正在寻找的:

using System.Diagnostics;

StackTrace stackTrace = new StackTrace();
Console.WriteLine(stackTrace.GetFrame(1).GetMethod().Name);
于 2012-02-22T22:40:46.463 回答
2

请参阅http://www.codeproject.com/Articles/7964/Logging-method-name-in-NET

另一个(更好的)日志记录选项是AOP,使用PostSharp等框架

于 2012-02-22T22:41:15.880 回答
1

除非你想使用反射。但是,C# 5 将包含一个名为“调用者信息属性”的新功能,它将在编译时插入信息。见http://bartwullems.blogspot.com/2012/02/c-5-caller-info-attributes.html

于 2012-02-22T22:53:51.387 回答