我有以下课程,请注意B
继承A
:
[XmlInclude(typeof(B))]
public class A
{...}
public class B : A
{...}
当 的实例B
被序列化时,xsi:type
会添加属性:
<A xsi:type="B">
为什么会这样?结果应该是公正的<B>
。
这是序列化的代码:
var b = new B();
using (var writer = new XmlTextWriterFull(stream, Encoding.UTF8))
{
writer.Formatting = Formatting.Indented;
var s = new XmlSerializer(typeof(B));
s.Serialize(writer, b);
}
我序列化的其他类不会发生这种情况。是因为这些类位于不同的命名空间中吗?
我该如何解决这个问题?