Accès aux valeurs de propriété dans les objets dynamiques .NET 4
Les méthodes de réflexion standard ne conviennent pas pour extraire les valeurs de propriété d'objets typés dynamiquement dans .NET 4. Cet article présente une solution plus efficace.
Méthodologies
Pour les objets dynamiques basés sur ExpandoObject
, une diffusion directe exploite l'interface IDictionary<string, object>
inhérente :
<code class="language-csharp">IDictionary<string, object> propertyValues = (IDictionary<string, object>)s;</code>
Cette approche est cependant limitée à ExpandoObject
instances. Une solution plus universelle consiste à utiliser le Dynamic Language Runtime (DLR) via l'interface IDynamicMetaObjectProvider
. Cela fournit un mécanisme pour accéder aux propriétés quelle que soit la structure de l'objet dynamique sous-jacent.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!