如何使用基类对子类进行XML序列化

Bre*_*ead 7 .net c#

我能够序列化单个类型/类,但有没有办法可以序列化它的基类呢?

例如:

class B:A
Run Code Online (Sandbox Code Playgroud)

在这里,我能够序列化B类但是如何序列化A类?

Mar*_*ell 8

A 必须提前知道,即

[XmlInclude(typeof(B))]
public class A {...}


public class B {...}
Run Code Online (Sandbox Code Playgroud)

现在new XmlSerializer(typeof(A)) 可以序列化一个A或一个B.你也可以这样做,而不在路过的属性extraTypes参数重载的XmlSerializer构造函数,但同样-根应该是A; 即new XmlSeralializer(typeof(A), new[] {typeof(B)})