如何创建动态属性

本文关键字:动态 属性 创建 何创建 | 更新日期: 2023-09-27 18:04:17

我正在阅读一个包含以下元素的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。

但我感兴趣的是,我是否可以创建"属性名称"也动态地基于元素的内容在名称属性。

希望我把问题讲清楚了。

关于如何使用ExpandoObject或任何其他方式来完成它的任何建议。

如何创建动态属性

您可以将ExpandoObject转换为代表属性名称到属性值映射的IDictionary<string,object>,然后操作这些映射:

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