Ok、C++では、値の束を含むstructオブジェクトを作成し、必要に応じて以下のような単一のwrite文でバイナリファイルに書き出します。C#クラスオブジェクトをバイナリファイルに一度に書き込む
struct DataFileHeader {
unsigned short Id;
unsigned short Type;
unsigned int Count;
unsigned int Offset;
};
...
struct DataFileHeader dataFileHeader;
...
rc = _write(fileHandle, &dataFileHeader, 12);
C#でこれを行う方法はありますか?構造体をC#でクラスに変換し、BinaryFormatterで作業していて、オブジェクトをシリアル化しようとしていますが、ストリームにテキストやその他のものを追加しています。オブジェクトのすべての値フィールドを書きたいだけです。これは可能ですか、オブジェクトの各フィールドを個別に書き込む必要がありますか?
独自のバイナリ形式のBinaryFormatterを記述するのは難しくありません。 –
既存のBinaryFormatter – ilansch
@ilanschを使用しない理由は、ストリームに大量の「テキスト」が含まれているためです。 DLLの名前、バージョン、文化、フィールド名のようなもの。ちょうど12バイトの代わりにそれは169を返します。 – dblwizard