複数のオブジェクトを単一のストリームにシリアル化していますが、それらを読み戻そうとすると、最後のオブジェクト以外は何も取得できないようです:
ProtoBuf.Serializer.Serialize(stream, postA1);
ProtoBuf.Serializer.Serialize(stream, postB1);
stream.Position = 0;
var postA2 = ProtoBuf.Serializer.Deserialize<Post>(stream);
var postB2 = ProtoBuf.Serializer.Deserialize<Post>(stream);
最初のデシリアライズはストリームを最後に移動し、postA2 には postB1 の値が含まれますが、postB2 は初期化されていないインスタンスです。これは予期された動作ですか? また、そうであれば、ストリーム内のランダムな位置からオブジェクトをどのように逆シリアル化しますか?