我在使用 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
我该如何解决这个问题?