序列化嵌套接口

时间:2010-05-31 15:19:39

标签: c# .net xml-serialization

我如何序列化这个类?

public class MyClass    {
    IInterface MyProperty { get; set;}
}

4 个答案:

答案 0 :(得分:1)

您需要向MyProperty添加一个setter,因为Xml序列化规则要求序列化必须能够进行往返,即它必须能够获取序列化属性,然后设置该属性以进行反序列化。

答案 1 :(得分:1)

正如chibacity所说,你需要在属性中添加一个setter。您还需要将XmlInclude属性添加到属性以指定可能的实现类型,否则XmlSerializer将不知道在反序列化时要实例化的类型

答案 2 :(得分:0)

XmlSerializer无法序列化接口。

如果您事先知道将要处理的具体类型,那么您可以使用XmlInclude方法。如果没有,那么就如何处理这个问题进行了一些讨论:

答案 3 :(得分:-2)

按照通常的方式制作实现IInterface Serializable的类,它将全部工作。