利用StackTrace在C#中識別方法調用者
在C#中,確定調用當前方法的方法對於故障排除和調試至關重要。雖然System.Reflection.MethodBase.GetCurrentMethod()
可以提供有關當前方法的信息,但它無法顯示調用它的方法。
要獲取調用方法的名稱,可以使用StackTrace
類。此類捕獲執行堆棧,包括一直到當前點的調用方法序列。
解決方案:
StackTrace
對象:<code class="language-csharp">StackTrace stackTrace = new StackTrace();</code>
<code class="language-csharp">StackFrame frame = stackTrace.GetFrame(1); // 跳过当前方法帧</code>
<code class="language-csharp">string callingMethodName = frame.GetMethod().Name;</code>
示例:
<code class="language-csharp">// 获取调用堆栈 StackTrace stackTrace = new StackTrace(); // 获取调用方法名称 Console.WriteLine(stackTrace.GetFrame(1).GetMethod().Name);</code>
單行代碼替代方案:
<code class="language-csharp">(new System.Diagnostics.StackTrace()).GetFrame(1).GetMethod().Name</code>
以上是如何在C#中識別方法的呼叫者?的詳細內容。更多資訊請關注PHP中文網其他相關文章!