2014-05-19 5 views
0

Je lis un fichier XML qui contient des éléments comme suit:Comment créer des propriétés dynamiques

<xs:element name="id" type="xs:int" minOccurs="0"></xs:element> 
<xs:element name="name" type="xs:string" minOccurs="0"></xs:element> 

En utilisant ExpandoObject, nous pouvons créer un objet dynamique et peut créer des propriétés comme

dynamic obj1 = new ExpandoObject(); 
obj1.id = 1; 
obj1.name = "Shrikey"; 

où id et le nom sont typecasted en int et string respectivement.

Mais la chose qui m'intéresse est de savoir si je peux créer le "nom de la propriété" aussi dynamiquement en fonction de l'attribut content in name de l'élément. J'espère que j'ai clarifié ma question.

Toutes les suggestions sur la façon dont cela peut être fait en utilisant ExpandoObject ou d'une autre manière.

Répondre

4

Vous pouvez jeter les ExpandoObject à un IDictionary<string,object> représentant les correspondances de noms de propriété à la valeur des propriétés, puis manipuler ces applications:

IDictionary<string,object> expando = new ExpandoObject(); 
expando.Add("id", 1); 
+0

+1 pour être intelligent un! – Christos

Questions connexes