我必须使用System.Xml.Serialization.XmlAttributeOverrides
在运行时动态分配和更改复杂对象属性到目前为止,我已经能够做我需要的一切。
我的一个问题是如何遍历集合以查看已添加的内容?
如果我无法通过这个集合进行交互,我可以加入两个XmlAttributeOverrides集合来形成一个完整的集合。
谢谢
答案 0 :(得分:1)
您可以创建一个类似于XmlAttributeOverridesBuilder
的{{1}}类,它可以让您更好地控制它包含的XmlAttributes。这样,您可以处理XmlAttributeOverrides
个实例,必要时将它们合并,并在需要实际的XmlAttributeOverridesBuilder
实例时调用GetOverrides
方法。
XmlAttributeOverrides
答案 1 :(得分:0)
不方便,没有。
您可以使用索引器(yourOverrides[type]
或yourOverrides[type, memberName]
- 获取期望类型的值 - 但要获取所有列表内部数据需要反射(它不会在API上公开)。
通过检查(尽管这很脆弱),有一个名为types
的字段是Hashtable
(由Type
键入)。 Hashtable
中的每个对象都是本身一个Hashtable
(由成员名称键入,""
为该类型自己的设置。)
祝你好运,如果你应用了一些修补程序或新的.NET版本,它不会归咎于我...