vs2012以后的CallerMemberName可以获取调用方法的名称

vs2012以后的CallerMemberName可以获取调用方法的名称,这个attribute提供类似stackTrace的功能,是通过编译器实现的。

 

using System.Runtime.CompilerServices;

public void DoProcessing()
        {
            TraceMessage("Something happened.");
        }

        public void TraceMessage(string message,
                [CallerMemberName] string memberName = "",
                [CallerFilePath] string sourceFilePath = "",
                [CallerLineNumber] int sourceLineNumber = 0)
        {
            Trace.WriteLine("message: " + message);
            Trace.WriteLine("member name: " + memberName);
            Trace.WriteLine("source file path: " + sourceFilePath);
            Trace.WriteLine("source line number: " + sourceLineNumber);
        }

posted @ 2013-08-30 17:45  ^^!  阅读(290)  评论(1编辑  收藏  举报