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);
}