c# - 如何找到调用当前方法的方法?

标签 c# .net logging stack-trace system.diagnostics

C#登录时,如何得知调用当前方法的方法名?我对 System.Reflection.MethodBase.GetCurrentMethod() 了如指掌,但我想在堆栈跟踪中更进一步。我已经考虑过解析堆栈跟踪,但我希望找到一种更清晰、更明确的方法,例如 Assembly.GetCallingAssembly() 但用于方法。

最佳答案

试试这个:

using System.Diagnostics;
// Get call stack
StackTrace stackTrace = new StackTrace(); 
// Get calling method name
Console.WriteLine(stackTrace.GetFrame(1).GetMethod().Name);

一行:

(new System.Diagnostics.StackTrace()).GetFrame(1).GetMethod().Name

来自 Get Calling Method using Reflection [C#] .

关于c# - 如何找到调用当前方法的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/171970/

相关文章:

c# - 如何正确使用TransactionScope?

c# - 未找到 Stripe Webhook Controller

java - 使用 java.util.Logging 将某些类记录到单个文件中,并将某些类记录到各自的日志文件中

c# - 使用 gridview 时引用不明确

c# - 什么是最好的计算平台 SQL 或 c#

c# - 使用 XPath/应用 XSL 转换遍历任意 C# 对象图

logging - 去哪里记录错误?

c# - LINQ 副作用

c# - 如何将 MongoDB 驱动程序与 C# ASP.NET Core API 框架一起使用?

C++ 同时记录到控制台和日志文件