Protobuf-net v2自定义列表对象错误

时间:2011-06-06 01:05:59

标签: c# protobuf-net

我正在尝试使用protobuf-net v2序列化/反序列化下面定义的List,并且在反序列化时我得到以下异常。

  

预计不会输入类型,也无法推断合同

在下面的示例中,我使用WithLengthPrefix调用,因为这实际上是通过网络流进行的,但问题是可以重现的。

var mStream = new MemoryStream();
Serializer.SerializeWithLengthPrefix(mStream, testList, PrefixStyle.Fixed32);
mStream.Seek(0, SeekOrigin.Begin);
var nOrders = Serializer.DeserializeWithLengthPrefix
                  <List<TestObj>>(mStream, PrefixStyle.Fixed32);

使用如下定义的RiskOrder

[ProtoContract]
public class TestObj
{
    [ProtoMember(1)]
    public string Key{ get; set; }
    [ProtoMember(2)]
    public string Val{ get; set; }
}

看来这可能与here发布的错误有关,但由于尚未确认,我以为我会看到是否有其他人遇到此问题/有解决方法。

更新 我忘了提到这个问题似乎只有在列表中有条目时才会出现。

1 个答案:

答案 0 :(得分:1)

我相信r403修复了这个错误,因为我更新到最新的源代码而不是v2 beta版,它似乎已修复。