Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah saya boleh mendapatkan nama harta dari ekspresi lambda di C#?
Ekstrak nama atribut dari ekspresi lambda
Pelaksanaan awal melibatkan ekspresi lambda yang menukarkan ke dalam ungkapan ahli, dengan asumsi atribut adalah rentetan. Walau bagaimanapun, ini hanya terpakai kepada atribut rentetan.
Untuk menyelesaikan masalah ini, kaedah yang lebih komprehensif diperlukan, yang boleh mengendalikan atribut rentetan dan bukan -string pada masa yang sama. Kaedah berikut memberikan penyelesaian:
<code class="language-csharp">public static PropertyInfo GetPropertyInfo<TSource, TProperty>( TSource source, Expression<Func<TSource, TProperty>> propertyLambda)</code>Kaedah ini menerima objek sumber dan ekspresi lambda sebagai input, dan mengembalikan objek PropertyInfo yang menunjukkan atribut yang boleh diakses. Jika ungkapan tidak memetik atribut, ia akan menyebabkan keabnormalan.
dalam pelaksanaan kaedah:
Atas ialah kandungan terperinci Bagaimanakah saya boleh mendapatkan nama harta dari ekspresi lambda di C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!