110,566
社区成员
发帖
与我相关
我的任务
分享
// using System.Runtime.CompilerServices
// using System.Diagnostics;
public void DoProcessing()
{
TraceMessage("Something happened."); //注意这个参数不是调用者传的。你还像原来那样调用好了
}
//这里只要简单的加上几个特殊参数,CLR会自动提供。
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);
}
// Sample Output:
// message: Something happened.
// member name: DoProcessing //可以输出哪个函数调用的
// source file path: c:\Users\username\Documents\Visual Studio 11\Projects\CallerInfoCS\CallerInfoCS\Form1.cs //对应的源代码
// source line number: 31