DCSを使用して、XMLからオブジェクトを逆シリアル化しようとしています。ここで、シリアル化されたオブジェクトは、クラスBaseを継承するChild型であり、Childには、逆シリアル化されたが後でコードでクラスBaseに移動されたプロパティがいくつかあります。現在、これらのプロパティは逆シリアル化されません。
この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は、派生型名を示します。このクラスは、それらの小道具を保持するために使用されました。これで、それらはBaseクラスに移動され、DCSによって逆シリアル化されなくなりました(逆シリアル化後のプロパティはnullになります)。プロパティの前に:(この場合はLocationとOpenHours)を付けてプロパティについて話します。
これらのファイルにはデータがたくさんあります。DCSでこれらのファイルを正しく逆シリアル化するための私のオプションは何ですか?
[KnownType]属性はBaseクラスとChildクラスの両方で使用されていることに注意してください