.net 反序列化没有显式XmlArrayItem属性的继承类型
我有一个如下所示的XML文档:.net 反序列化没有显式XmlArrayItem属性的继承类型,.net,xml-serialization,.net,Xml Serialization,我有一个如下所示的XML文档: <MyEntity> <Vehicles> <Car /> <Truck /> </Vehicles> </MyEntity> 是否可以在不必为每种可能的车辆类型使用XmlArrayItem属性修饰MyEntity.Vehicles属性的情况下执行此操作?我可能会在编译时得到我不知道的新类型的车辆,但在运行时可以发现。除了添加属性之外,我唯一能
<MyEntity>
<Vehicles>
<Car />
<Truck />
</Vehicles>
</MyEntity>
是否可以在不必为每种可能的车辆类型使用XmlArrayItem属性修饰MyEntity.Vehicles属性的情况下执行此操作?我可能会在编译时得到我不知道的新类型的车辆,但在运行时可以发现。除了添加属性之外,我唯一能想到的方法是在MyEntity上实现IXmlSerializer并手动处理它。当然,您还需要为不同的车辆类型注册处理程序。除了添加属性之外,我能想到的唯一方法是在MyEntity上实现IXmlSerializer并手动处理它。当然,您还需要为不同的车辆类型注册处理程序
public class MyEntity
{
public Vehicle[] Vehicles { get; set; }
}
public class Vehicle {}
public class Car : Vehicle {}
public class Truck : Vehicle {}