【发布时间】:2012-11-16 17:28:33
【问题描述】:
我在使用 protobuf-net 进行反序列化时遇到问题。
我有以下课程:
[ProtoContract]
public class CrazyList : List<string>
{
[ProtoMember(1)]
private readonly string _foo;
public CrazyList(string foo)
{
_foo = foo;
}
public CrazyList(){}
public new void Add(string item)
{
Console.Write(item + foo); // Problem is here!
base.Add(item);
}
}
并像这样使用它:
var list = new CrazyList("world!");
list.Add("Hello ");
using (var ms = new MemoryStream())
{
Serializer.Serialize(ms, list);
ms.Position = 0;
var listDS = Serializer.Deserialize<CrazyList>(ms);
listDS.Add("Goodbye ");
}
方法Add 在_foo 字段反序列化完成之前触发。
我该如何解决这个问题?
【问题讨论】:
标签: c# list serialization protocol-buffers protobuf-net