【发布时间】:2010-03-14 08:29:52
【问题描述】:
我将几个对象序列化为一个流,但是当我尝试读回它们时,除了最后一个对象,我似乎什么也得不到:
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 只是一个未初始化的实例。这是预期的行为吗?如果是,如何从流中的随机位置反序列化对象?
【问题讨论】:
标签: c# protobuf-net