IXMLSerializeable

Мне нужно реализовать IXMLSerializeable для настраиваемой сериализации на 2 участниках, но я хочу, чтобы остальные члены были сериализованы с сериализацией по умолчанию. Или, по крайней мере, есть ли способ для меня вызвать стандартную сериализацию на других участниках? Типы других членов - очень большие и глубоко несвязные классы, и было бы непрактично определять сериализацию каждого члена на всем протяжении цепочки.

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);

        ...                        
    }

Надеюсь, это поможет,

Johannes

Другие вопросы по тегам