在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中文網其他相關文章!