Rumah > pembangunan bahagian belakang > C++ > Bagaimana untuk Mendapatkan Hartanah dan Nilai daripada Objek Dinamik .NET 4?

Bagaimana untuk Mendapatkan Hartanah dan Nilai daripada Objek Dinamik .NET 4?

DDD
Lepaskan: 2025-01-22 23:17:15
asal
167 orang telah melayarinya

How to Retrieve Properties and Values from a .NET 4 Dynamic Object?

Mendapatkan semula sifat daripada objek dinamik dalam .NET 4

Objek dinamik yang diisytiharkan menggunakan kata kunci dynamic dalam .NET 4 boleh menyebabkan cabaran apabila cuba mendapatkan nilai hartanah melalui refleksi.

Soalan:

Bagaimana untuk mendapatkan kamus nama atribut dan nilai sepadannya daripada objek dinamik?

Contoh:

<code class="language-csharp">dynamic s = new ExpandoObject();
s.Path = "/Home";
s.Name = "Home";

// 如何枚举 Path 和 Name 属性并检索它们的值?
IDictionary<string, object> propertyValues = ???</code>
Salin selepas log masuk

Jawapan:

Untuk ExpandoObject objek, penyelesaiannya sangat mudah. ExpandoObject melaksanakan antara muka IDictionary<string, object> untuk sifatnya:

<code class="language-csharp">IDictionary<string, object> propertyValues = (IDictionary<string, object>)s;</code>
Salin selepas log masuk

Sila ambil perhatian bahawa kaedah ini mungkin tidak berfungsi untuk semua objek dinamik. Untuk objek dinamik yang lebih umum, anda perlu menggunakan DLR melalui IDynamicMetaObjectProvider.

Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan Hartanah dan Nilai daripada Objek Dinamik .NET 4?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan