2

我有大约 50 个多态继承关系类。我使用 XmlSerializer 对它们进行序列化。现在对于几个类,我想实现 IXmlSerializable。所以我从一个类开始。这个类不是基类而是直接派生自所有多态关系的基类。

实现后,生成的 XML 仅包含我用 WriteXML 方法编写的上述类的标签。没有其他类的信息。很奇怪的行为!!!!

所以请指导我解决这个问题,以便维护其他类信息。

4

2 回答 2

1

据我了解,您是正确的 - 您的 xml 包含您隐式添加的WriteXML(当前类的)属性?但这是正确的行为。您应该隐式添加项目,如接口描述中的示例

如果您需要基类的属性 - 添加它们。如果您需要从此类继承的类的属性 - 尝试通过反射获取它们。使用反射获取属性名称。但是不要typeof(MyClass)使用.GetType()在那里检查如何获取属性值。

于 2012-06-12T18:38:23.347 回答
0

类似的问题在这里那里

ReadXml(XmlReader reader)以该行结束方法

reader.Read();

接缝来解决问题...

于 2015-07-31T08:57:02.127 回答