Mengakses Nilai Harta dalam .NET 4 Objek Dinamik
Kaedah pantulan standard tidak sesuai untuk mengekstrak nilai sifat daripada objek yang ditaip secara dinamik dalam .NET 4. Artikel ini membentangkan penyelesaian yang lebih berkesan.
Metodologi
Untuk objek dinamik berasaskan ExpandoObject
, pelakon langsung memanfaatkan antara muka IDictionary<string, object>
yang wujud:
<code class="language-csharp">IDictionary<string, object> propertyValues = (IDictionary<string, object>)s;</code>
Pendekatan ini, bagaimanapun, terhad kepada ExpandoObject
kejadian. Penyelesaian yang lebih universal melibatkan penggunaan Dynamic Language Runtime (DLR) melalui antara muka IDynamicMetaObjectProvider
. Ini menyediakan mekanisme untuk mengakses sifat tanpa mengira struktur objek dinamik yang mendasari.
Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan Nilai Harta dengan Cekap daripada Objek Dinamik dalam .NET 4?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!