首頁 > 後端開發 > C++ > 如何在 C# 中取得字串形式的屬性名稱?

如何在 C# 中取得字串形式的屬性名稱?

Barbara Streisand
發布: 2025-01-12 07:58:42
原創
326 人瀏覽過

How Can I Get a Property's Name as a String in C#?

取得屬性名稱字串

在C# 6.0及更高版本中,您可以使用nameof表達式方便地將屬性名稱作為字串取得。此表達式在編譯時解析為屬性的名稱。

範例:

<code class="language-csharp">string propertyName = nameof(SomeClass.SomeProperty);</code>
登入後複製

此表達式在編譯時計算結果為「SomeProperty」。

注意:nameof只能用於屬性,不能用於其他類型的成員。

C#早期版本

在C# 6.0之前的版本中,您可以使用以下方法:

<code class="language-csharp">public string GetPropertyName<T>(Expression<Func<T>> propertyLambda)
{
    var memberExpression = propertyLambda.Body as MemberExpression;

    if (memberExpression == null)
        throw new ArgumentException("表达式必须是属性lambda表达式。");

    return memberExpression.Member.Name;
}</code>
登入後複製

此方法採用表示屬性存取器的lambda表達式,並傳回屬性的名稱。

範例:

<code class="language-csharp">string propertyName = GetPropertyName(() => SomeClass.SomeProperty);</code>
登入後複製

以上是如何在 C# 中取得字串形式的屬性名稱?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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