使用DCS我想從XML反序列化對象序列化的對象是類型Child繼承類Base其中一些屬性被反序列化但後來被移動到類以代碼爲基礎。現在,這些屬性不會被反序列化:DataContractSerializer對從派生類移動到基類的屬性的反序列化
在這個XML請看:
<Base i:type="a:DirectoryEntry" xmlns="http://schemas.datacontract.org/2004/07/pending.Core.Models" xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns:a="http://schemas.datacontract.org/2004/07/pending.Core.Models.Directory">
<Active>true</Active>
<ContentType>DirectoryEntry</ContentType>
<Created>2012-03-12T11:51:25.3401552+01:00</Created>
<a:Location>location</a:Location>
<a:OpenHours>opening</a:OpenHours>
</Base>
的xmlns:a表示派生類型名稱。這堂課用來裝這些道具。現在他們被移入基類,他們不再被DCS反序列化(反序列化後屬性爲空)。我正在談論的屬性與:在他們面前(在這種情況下的位置和OpenHours)。
我們有很多這些文件保存數據。用DCS正確反序列化這些文件有哪些選擇?
請注意[KnownType]屬性上基本都使用與兒童類
謝謝,這是顯而易見的答案,但需要手動更改XML文件。你知道一個可以讓DCS在Base類中找到這些屬性並將它們序列化的替代方法嗎? – mare