我如何序列化这个类?
public class MyClass {
IInterface MyProperty { get; set;}
}
答案 0 :(得分:1)
您需要向MyProperty添加一个setter,因为Xml序列化规则要求序列化必须能够进行往返,即它必须能够获取序列化属性,然后设置该属性以进行反序列化。
答案 1 :(得分:1)
正如chibacity所说,你需要在属性中添加一个setter。您还需要将XmlInclude
属性添加到属性以指定可能的实现类型,否则XmlSerializer
将不知道在反序列化时要实例化的类型
答案 2 :(得分:0)
XmlSerializer无法序列化接口。
如果您事先知道将要处理的具体类型,那么您可以使用XmlInclude
方法。如果没有,那么就如何处理这个问题进行了一些讨论:
答案 3 :(得分:-2)
按照通常的方式制作实现IInterface Serializable的类,它将全部工作。