1

我需要为 2 个成员的自定义序列化实现 IXMLSerializeable,但我希望其余成员使用默认序列化进行序列化。或者至少,有没有办法让我调用其他成员的标准序列化?其他成员的类型是非常大且嵌套很深的类,在整个链条中定义每个成员的序列化是不切实际的。

4

1 回答 1

1

您可以使用 XmlSerializer 通过标准方式序列化您的成员:

    public voind WriteXml SerializeObjectToXml(XmlWriter writer)
    {

        ...

        XmlSerializer xmlSer;
        xmlSer = new XmlSerializer(<yourMember>.GetType());
        xmlSer.Serialize(strWriter, source);

        ...
    }

    public void ReadXml(XmlReader reader)
    {

        ...

        XmlSerializer xmlSer = new XmlSerializer(<yourMemberType>);
        <yourMemberType> deserializationResult = (<yourMemberType>)xmlSer.Deserialize(reader);

        ...                        
    }

希望有帮助,

约翰内斯

于 2010-11-22T10:36:11.490 回答