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