私は、メディアブラウザのシリアル化の必要性のためにproto-buf .Netを使い始めました。未知の継承型のシリアライズとデシリアライズ
新しいシステムには、プラグインで拡張できるエンティティフレームワークがあります。
たとえば、コアライブラリにMediaクラスを定義し、プラグインでSongなどのサブクラスを定義できます。
proto-buf .Netは、コア定義の基本クラスのすべてのサブタイプについて知っている必要があるようです。
は、だから私は、私はまだ存在していないソングのクラスについて何も知らないその時点で[ProtoInclude(2, typeof(Song))]
しかし...と私の基本クラスを飾るために期待しています。
ドローイングボードには戻っていますか?私はライブラリが設計されていない何かをしようとしていますか? (著者から)
これは、もちろん、私が持っている疑問:) –
に正解です私の限られたニーズをサポートするために私の現在のシリアライゼーションの実装を手に入れました。 http://code.google.com/p/videobrowser/source/browse/branches/big_refactor/TestMediaBrowser/TestSerialization.cs –
私が完了したら、後でラインを下ろして、私が使用するために物を移植するかどうかを確認しますprotobuf。あなたがプロパティの継承チェーンをサポートするとき、Jeezのものは複雑になります... –