は、私がアプリケーションのバージョン1.0を持っているクラスのよう:XMLSerialization - backwardscompatibility
class MyBaseDTO
{
[XmlElementAttribute(DataType="base64Binary", IsNullable=true, ElementName="Data")]
public byte[] Data{get;set}
}
と
class MySubDTO
{
[XmlElementAttribute(DataType="base64Binary", IsNullable=true, ElementName="MoreData")]
public byte[] MoreData{get;set}
}
は今、バージョン1.1で、私はMySubDTO.MoreDataを移動したいサブクラスMyBaseDTOへ。私は
class MyBaseDTO
{
[XmlElementAttribute(DataType="base64Binary", IsNullable=true, ElementName="Data")]
public byte[] Data(){get;set}
[XmlElementAttribute(DataType="base64Binary", IsNullable=true, ElementName="MoreData", NameSpace="MyBaseDTO")]
public byte[] MoreData(){get;set}
}
それはもちろん作品
が、私を追加する場合
<a:MyBaseDTO i:type="b:MySubDTO"><a:Data>...</a:Data><b:MoreData>...</b:MoreData></a:MyBaseDTO>
: 問題は、私は1.1クライアントと1.0サーバーと通信する場合、XMLがどのように見えるのでMOREDATAはserialzedされることはありませんということですMoreDataが2つの異なる名前空間を持つ可能性があることを理解できるようにしたいと考えています。 WCFを使用してWebサービス間で通信し、DataContractSerializerを使用してサーバー側のオブジェクトをシリアル化しています。これは達成できますか?