【问题标题】:Protobuf-net serialization of class that nests itself嵌套自身的类的 Protobuf-net 序列化
【发布时间】:2013-03-30 14:10:48
【问题描述】:

我有一个类似乎不能使用 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 的限制,还是有办法让它工作?

【问题讨论】:

    标签: c# serialization mono protobuf-net


    【解决方案1】:

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

    【讨论】:

    • 谢谢!现在效果很好!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多