Dalam C# 6.0 dan ke atas, anda boleh menggunakan ungkapan nameof
untuk mendapatkan nama sifat sebagai rentetan dengan mudah. Ungkapan ini menyelesaikan kepada nama harta pada masa penyusunan.
Contoh:
<code class="language-csharp">string propertyName = nameof(SomeClass.SomeProperty);</code>
Ungkapan ini menilai kepada "SomeProperty" pada masa penyusunan.
Nota: nameof
hanya boleh digunakan untuk atribut, bukan untuk ahli jenis lain.
Versi awal C#
Dalam versi sebelum C# 6.0, anda boleh menggunakan kaedah berikut:
<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>
Kaedah ini mengambil ungkapan lambda yang mewakili pengakses harta dan mengembalikan nama harta tersebut.
Contoh:
<code class="language-csharp">string propertyName = GetPropertyName(() => SomeClass.SomeProperty);</code>
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mendapatkan Nama Harta sebagai Rentetan dalam C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!