現在、すべてのオブジェクトには保存メソッドとロードメソッドが含まれています。これらのメソッドは、基本的にxmlドキュメントを作成しています。内部オブジェクトは、それぞれの保存メソッド(時にはそのインターフェイス)を使用してシリアル化されます。今私はいくつかのオブジェクトで異なるシリアル化を行うことが時々あります。 基本的に私はシリアライゼーションのあるバージョンから別のバージョンに移行したいと考えています。ポリモリックで拡張可能なシリアル化メソッドの実装方法
1つの方法は、クラス自体から独立したクラス(microsoftのxmlserializerのようなもの)に分離して機能を拡張することですが、オブジェクトの型がわからないときは、クラスまたはインタフェース。
XmlSerializerまたはDataContractSerializerを使用する以外の方法がありますか?
おかげで、 パベル
基本タイプが不明な場合は、*具体的には*問題がありますか? –
型が不明で、外部クラスで直列化が実行された場合、このクラスは直列化するすべてのメンバーを認識しない場合があります。 – PavelL
「XmlSerializer」は、直列化するすべてのメンバーを「知っている」わけではありませんが、リフレクションと命令の組み合わせ(通常は属性を使用しますが、コードを使用することもできます)を使用して推論することができます。ここでは、 'new XmlSerializer(obj.GetType()) 'を使っただけで*ここでは*何も*働いていないなど、あなたが現在持っている問題を理解しようとしていますか? –