gpt4 book ai didi

c# - 嵌套自身的类的 Protobuf-net 序列化

转载 作者:行者123 更新时间:2023-11-30 15:00:12 26 4
gpt4 key购买 nike

我有一个类似乎无法使用 protobuf-net 序列化,而且它似乎在我的类引用了它自身的另一个实例时中断了。这是一个示例(从我的实际代码中大大简化):

[ProtoContract]
public sealed class Acorn
{
[ProtoMember(50)]
public string Investment;
[ProtoMember(51)]
public string Broker;
[ProtoMember(52)]
public Acorn DefaultTransferAcorn;
}

据我所知,似乎是 Acorn 类中对另一个 Acorn 类的引用导致了问题。我在单声道中收到以下错误消息:

System.Reflection.TargetInvocationException:调用目标抛出异常。 ---> ProtoBuf.ProtoException:检测到可能的递归(偏移:4 级):AcornTrail3.Acorn

这是 protobuf-net 的局限性,还是有办法让它工作?

最佳答案

默认情况下,protobuf 是一个“树”结构。 Protobuf-net 添加了图形支持。将 AsReference=true 添加到受影响的 ProtoMember。

关于c# - 嵌套自身的类的 Protobuf-net 序列化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15719441/

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