使用DataContractSerializer我想序列化从 A 类继承的对象列表。这些对象在不同的程序集中,假设它们属于 B、C 和 D 类。我已将 B、C 和 D 添加到已知类型的数据中合约序列化器。我能够序列化列表,但序列化的结果如下所示:<SerializedListObjects> <A i:type="B"> <A i:type="C"></SerializedListObjects>我想要的是:<SerializedListObjects> <B> <C></SerializedListObjects>B 和 C 中可能有一些属性具有从 A 继承的信息。这是我的基类: [Serializable] [DataContract(Name = "A")] public abstract class A { }这是派生类定义的示例。 [Serializable] [DataContract(Name = "B")] public class B : A { }由于派生类在不同的程序集中,我不能在它们的基类或包含派生类名称的序列化类中放置任何属性(例如[XmlElement("B", Type = typeof(ChildB))]) - 我无法访问那里的派生类。是否可以?虽然我目前正在使用DataContractSerializer,但我愿意XmlSerializer在必要时切换到另一个 XML 序列化程序。
1 回答
- 1 回答
- 0 关注
- 129 浏览
添加回答
举报
0/150
提交
取消