【发布时间】:2009-01-22 20:13:25
【问题描述】:
是否可以使用InternalsVisibleTo 属性使XmlSerializer 序列化内部类成员?
如果是,我应该让我的内部组件对哪个程序集可见。换句话说,我应该向InternalsVisibleTo 属性提供什么程序集名称和公钥。
【问题讨论】:
标签: .net xml-serialization internalsvisibleto
是否可以使用InternalsVisibleTo 属性使XmlSerializer 序列化内部类成员?
如果是,我应该让我的内部组件对哪个程序集可见。换句话说,我应该向InternalsVisibleTo 属性提供什么程序集名称和公钥。
【问题讨论】:
标签: .net xml-serialization internalsvisibleto
这是一个常见的问题,请看这个帖子:
Can an internal setter of a property be serialized?
DataContractSerializer 可以让您序列化您想要的任何成员。由于它是一种可选的序列化方法,因此您需要根据需要对类进行注释。
重新阅读您的问题后,DataContractSerializer 可能有效,但这可能不是您想要做的。 XMLSerializer 将与InternalsVisibleTo 一起使用,因为它能够看到这些成员,但我建议您查看DataContractSerializer,因为它(在我看来)是一个更好的序列化器。
【讨论】:
From these comments,jrista 的说法似乎并不完全正确:XmlSerializer 类是动态生成的,因此无法预先知道要添加到“InternalsVisibleTo”的类的名称。除非您按照其他问题中的说明预编译这些序列化程序。
【讨论】: