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:
string propertyName = nameof(SomeClass.SomeProperty);
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:
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; }
Kaedah ini mengambil ungkapan lambda yang mewakili pengakses harta dan mengembalikan nama harta tersebut.
Contoh:
string propertyName = GetPropertyName(() => SomeClass.SomeProperty);
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!