使用带有DictionaryBase的protobuf网

时间:2012-09-25 10:37:54

标签: protobuf-net

我是使用protobuf的新手,并且在尝试序列化继承自Dictionary的类时遇到问题。其他属性未被序列化。 作为一个考试,我有这个课程

[ProtoContract]
  public class InheritDictionary: Dictionary<string,string>
  {
    private int _myInt;


    [ProtoMember(1)]
    public int MyInt
    {
      get
      {
        return _myInt;
      }
      set
      {
        _myInt = value;
      }
    }

  }

当我序列化时,不包括MyInt属性。 我错过了什么吗?

1 个答案:

答案 0 :(得分:1)

protobuf规范没有收集对象的概念。在线上,您获取所包含的元素 - 该集合在数据中不包含 。因此,没有地方存储任何列表的属性 - 字典本质上是列表(键/值对)。

在DTO层,我会说:不要继承馆藏。 封装集合。有一个拥有字典且拥有额外属性的对象。