私はしばらくの間protobuf.netを使用しており、それは優れています。私は基本クラスから継承されたクラスを持つことができます、私は基本クラスでProtoIncludeステートメントを使用して派生クラスをserialiseすることができます。protobuf.netの継承で、下位互換のベースクラスを追加しましたか?
[ProtoInclude(100, typeof(Vol_SurfaceObject))]
[ProtoInclude(200, typeof(CurveObject))]
[ProtoInclude(300, typeof(StaticDataObject))]
internal abstract class MarketDataObject
:オブジェクトがシリアライズされたときに、私の基本クラスは、もともと2つのだけProtoInclude文を言っていたら、私はまだ進化しているコードへの同じオブジェクトがより多くの派生を持っていることをdeserialiseでき
[ProtoInclude(100, typeof(Vol_SurfaceObject))]
[ProtoInclude(200, typeof(CurveObject))]
internal abstract class MarketDataObject
、言いますこれまでのところとても良い(実際には素晴らしい、Marcに感謝する)。しかし、ここで私の現在の基底クラス(この場合はMarketDataObject)よりもさらに基底クラスを取得したい場合はどうなりますか?私は、コースワークのコード意志ながら
[ProtoInclude(100, typeof(Vol_SurfaceObject))]
[ProtoInclude(200, typeof(CurveObject))]
[ProtoInclude(300, typeof(StaticDataObject))]
internal abstract class MarketDataObject : LowerStillBaseClass
{ blah }
[ProtoInclude(10, typeof(MarketDataObject))]
internal abstract class LowerStillBaseClass
{ blah }
を持つことになり、私はまだオブジェクトがMarketDataObjectクラスのこの新しいフォームにのみ2 ProtoInclude文を持っていたときシリアライズされた最初のオブジェクトをdeserialiseすることができるようになるように?
あなたには非常に詳細な回答と時間がありました。あなたが言っていることを完全に理解しています。 – screig