2010-03-10 62 views
2

我有一個看起來像這樣的XML文檔:反序列化繼承類型沒有明確XmlArrayItem屬性

<MyEntity> 
    <Vehicles> 
     <Car /> 
     <Truck /> 
    </Vehicles> 
</MyEntity> 

我想它deserialise成以下結構:

public class MyEntity 
{ 
    public Vehicle[] Vehicles { get; set; } 
} 

public class Vehicle {} 
public class Car : Vehicle {} 
public class Truck : Vehicle {} 

是否有可能做到這一點而不必爲每種可能的車輛類型使用XmlArrayItem屬性裝飾MyEntity.Vehicles屬性?我可能會在編譯時獲得我不知道的新類型的車輛,但在運行時可以發現。

回答

0

我能想到的只是添加屬性的唯一方法就是在MyEntity上實現IXmlSerializer並手動處理它。當然,您還需要註冊不同車型的處理程序。