クラスにIXmlSerializableを実装して、ReadXmlまたはWriteXmlのどちらかをオーバーライドしたいだけですが、両方をオーバーライドしないでください。このクラスにIXMLSerializableを実装しなかった場合、XMLSerializerは自動的にすべてのメンバーを直列化します。私はそのデフォルトの動作をオーバーライドされていないケースに適用したいと思います。しかし、IXmlSerializableは基本クラスではなくインターフェースなので、どうやってそれをどうやって進めるのかは分かりません。IXmlSerializableを実装するとき、ReadXmlまたはWriteXmlのどちらかをオーバーライドするだけで、両方をオーバーライドする方法はありませんか?
また、あるケースではデフォルトの動作を行う必要があり、完了したら追加のコードを追加する必要があります。だから、私はオーバーライドして、 '基本'クラスの動作に戻ってコールしたいと思います。ここでも基本クラスがあればこれは簡単ですが、これはインターフェースなので簡単なことではありません。
ありがとうございます!
これは奇妙なニーズです。特定のクラスを逆シリアル化したら、新しく作成したインスタンスを登録する必要があります。だから、私は望んでいた:(1)シリアライズをそのままにし、(2)デシリアライズをオーバーライドし、自分の登録コードを追加する。 – Eric
XMLシリアライザに適用されるOnDeserializedAttributeと同等のものが必要ですか? – Richard
OnDeserializedがトリックを行います!これをテキストにコピーして、これを回答としてマークします。 – Eric