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
どうすればこの問題を解決できますか?