我想在dotnet核心应用程序中获取当前正在执行的方法的名称.
有很多关于如何使用常规c#执行此操作的示例,例如
然而,这两种方法的api似乎还没有核心(参见https://github.com/dotnet/corefx/issues/1420)
有没有其他方法可以在.net核心中获取执行方法名称?
小智 23
CallerMemberNameAttribute允许您获取方法的调用方的方法或属性名称.
public void DoProcessing()
{
TraceMessage("Something happened.");
}
public void TraceMessage(string message,
[System.Runtime.CompilerServices.CallerMemberName] string memberName = "",
[System.Runtime.CompilerServices.CallerFilePath] string sourceFilePath = "",
[System.Runtime.CompilerServices.CallerLineNumber] int sourceLineNumber = 0)
{
System.Diagnostics.Trace.WriteLine("message: " + message);
System.Diagnostics.Trace.WriteLine("member name: " + memberName);
System.Diagnostics.Trace.WriteLine("source file path: " + sourceFilePath);
System.Diagnostics.Trace.WriteLine("source line number: " + sourceLineNumber);
}
// Sample Output:
// message: Something happened.
// member name: DoProcessing
// source file path: c:\Users\username\Documents\Visual Studio 2012\Projects\CallerInfoCS\CallerInfoCS\Form1.cs
// source line number: 31
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6787 次 |
| 最近记录: |