首頁 >後端開發 >C++ >如何取得 C# 變數或參數的名稱?

如何取得 C# 變數或參數的名稱?

Barbara Streisand
Barbara Streisand原創
2025-01-27 04:01:09599瀏覽

How Can I Get the Name of a C# Variable or Parameter?

在C#中取得變數與參數名稱

在C#中,存取變數或參數的名稱對於各種場景至關重要,例如錯誤處理和動態程式碼產生。讓我們探討如何實現這一點:

C# 6.0之前的解決方案:

在C# 6.0之前,取得成員名稱的解決方法是使用反射。考慮以下類別,它提供了一個用於檢索成員名稱的泛型方法:

<code class="language-csharp">public static class MemberInfoGetting
{
    public static string GetMemberName<T>(Expression<Func<T>> memberExpression)
    {
        MemberExpression expressionBody = (MemberExpression)memberExpression.Body;
        return expressionBody.Member.Name;
    }
}</code>

要使用此方法,您可以傳入一個lambda表達式,該表達式引用變數或參數:

<code class="language-csharp">string testVariable = "value";
string nameOfTestVariable = MemberInfoGetting.GetMemberName(() => testVariable);</code>

C# 6.0及更高版本解決方案:

在C# 6.0及更高版本中,nameof 運算子提供了一種更簡潔、更有效率的取得成員名稱的方法:

<code class="language-csharp">string testVariable = "value";
string nameOfTestVariable = nameof(testVariable);</code>

此運算子可用於參數、變數和屬性:

<code class="language-csharp">public class TestClass
{
    public void TestMethod(string param1, string param2)
    {
        string nameOfParam1 = nameof(param1);
    }
}</code>

以上是如何取得 C# 變數或參數的名稱?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn