首頁 > 後端開發 > C++ > 如何獲得C#中稱為當前方法的方法的名稱?

如何獲得C#中稱為當前方法的方法的名稱?

Susan Sarandon
發布: 2025-02-01 02:21:09
原創
892 人瀏覽過

How Can I Get the Name of the Method That Called the Current Method in C#?

在C#中獲取調用方法的方法名

C# 開發者經常需要確定調用當前執行方法的方法。雖然 System.Reflection.MethodBase.GetCurrentMethod() 可以獲取當前方法的信息,但要獲取調用方法的信息,需要更深入地了解堆棧跟踪。

遍歷堆棧跟踪

解析堆棧跟踪看似可行,但存在更簡潔直接的方法。 Assembly.GetCallingAssembly() 可以獲取調用程序集的信息,類似的方法也適用於方法。

向上遍歷堆棧

System.Diagnostics.StackTrace 類可以實現此目的。通過實例化此類並調用其 GetFrame(1) 方法,可以向上遍歷堆棧跟踪一級,並獲取調用方法。然後,可以使用 GetMethod().Name 獲取調用方法的名稱。

示例代碼

以下代碼演示了此技術的用法:

<code class="language-csharp">using System.Diagnostics;

// 获取调用堆栈
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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板