gpt4 book ai didi

c# - protobuf-net List<>继承反序列化

转载 作者:行者123 更新时间:2023-11-30 12:31:23 27 4
gpt4 key购买 nike

我在使用 protobuf-net 进行反序列化时遇到问题。

我有以下类(class):

[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 字段反序列化完成之前触发。

我该如何解决这个问题?

最佳答案

您需要将其用于 CrazList 属性;

[ProtoBuf.ProtoContract(IgnoreListHandling=true)]

关于c# - protobuf-net List<>继承反序列化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13612256/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com