2009-11-12 70 views
0

我有以下對象圖:不同選項XmlSerialization和派生類型

public class BaseType 
{ 
} 

public class DerivedType : BaseType 
{ 
} 

當我傳遞DerivedType到XmlSerializer的我需要有它反映鹼基類型,而不是DerivedType。有沒有一種方法來控制這與屬性沒有在DerivedType上實現IXmlSerializer?

+0

所以你只想要BaseType屬性而不是DerivedType? – Natrium 2009-11-12 13:15:47

+0

是的。那是對的。基本上我們在內部orm序列化器基本類型,但我想有一個在我的領域的派生類型的行爲等。我沒有添加更多的屬性,只有行爲 – 2009-11-12 14:47:11

回答

0

如果您可以控制序列化器實例,只需將派生類型對象的Type []作爲extraTypes傳遞。否則,向基類定義添加一個

[XmlInclude(typeof(Derived))] 

。輸出XML將看起來完全相同,就好像您已經傳遞了一個基本實例,除了具有派生類型名稱的xsi:type屬性。

我想這就是你要求的...