オブジェクトの表現を特定のバイナリ形式でディスク (または任意のストリーム) に読み書きする必要があるライブラリ (C# で記述) があります (C/Java ライブラリ実装との互換性を確保するため)。この形式には、かなりの量のビット パッキングといくつかの DEFLATE されたバイトストリームが必要です。ただし、ライブラリをできるだけ慣用的な .NET にしたいので、通常のバイナリ シリアル化プロセスにできるだけ近い API を提供したいと考えています。IFormatter インターフェイスを実装できることは認識していますが、組み込みのシリアル化スタックのどの部分も再利用できないので、これを行う価値はありますか、それとも不必要なオーバーヘッドが発生するだけでしょうか。言い換えると:
IFormatter などを実装します。
また
Stream で動作する "Serialize"/"Deserialize" メソッドを提供するだけですか?
リモーティングが関係するあらゆるケースでシリアライゼーションのセマンティクスが必要であることについて、以下で取り上げた良い点です。MarshalByRef オブジェクトの使用が可能である場合、これが問題にならないことは確かです。そのため、ISerializable/IFormatter とカスタム スタックを使用する利点または欠点はありますか (または、私の理解はリモート処理が間違っている)?