私はC/Javaライブラリの実装との互換性を保つために、特定のバイナリ形式でオブジェクト(またはストリーム)にオブジェクトの表現を読み書きする必要のあるライブラリ(C#で書かれています)を持っています。フォーマットにはかなりの量のビットパッキングとDEFLATEのバイトストリームが必要です。しかし、私のライブラリはできるだけ慣れ親しんだ.NETになるようにしたいので、可能な限り通常のバイナリシリアル化プロセスに近いAPIを提供したいと考えています。私はIFormatterインターフェイスを実装する能力を認識していますが、ビルトインシリアル化スタックの一部を再利用することができず、これを実行する価値があるのですか、それとも不必要なオーバーヘッドだけになります。言い換えれば、組み込みの.NETシリアル化のイディオムを模倣する方法は?
IFormatterとcoを実装します。
OR
だけストリームに作用する方法を "デシリアライズ"/"シリアライズ" を提供?
Remotingが関係するすべてのケースでシリアライズのセマンティクスが必要であることについては、以下の点で優れています。 MarshalByRefオブジェクトを使用することが可能な場合は、これが問題ではないと確信しています。そのため、ISerializable/IFormatterとカスタムスタックのどちらのメリットや欠点もあります(または、私の理解ですリモーティングは間違っていますか?)
ポインタありがとう - 私は実際には可能な拡張としてprotobufシリアル化を提供したいと考えていますが、デフォルトはこの互換フォーマットである必要があります。 –