我正在阅读一个包含如下元素的xml:
<xs:element name="id" type="xs:int" minOccurs="0"></xs:element>
<xs:element name="name" type="xs:string" minOccurs="0"></xs:element>
通过使用ExpandoObject,我们可以创建一个动态对象,并可以创建像
这样的属性dynamic obj1 = new ExpandoObject();
obj1.id = 1;
obj1.name = "Shrikey";
其中id和name分别被类型化为int和string。
但我感兴趣的是我是否可以根据元素的name属性中的内容动态创建“属性名称”。
希望我明白我的问题。
有关如何使用ExpandoObject或任何其他方式完成任何建议。
答案 0 :(得分:4)
您可以将ExpandoObject
强制转换为表示属性值到属性值的映射的IDictionary<string,object>
,然后操纵这些映射:
IDictionary<string,object> expando = new ExpandoObject();
expando.Add("id", 1);