2012-09-25 30 views
2

我是新来使用protobuf并有一个问题,试图序列化从Dictionary继承的类。其他属性未被序列化。 作为examle我有这个类使用protobuf网与DictionaryBase

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


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

    } 

当我序列不包含敏属性。 我错过了什么吗?

回答

1

protobuf规范没有集合对象的概念。在线只有获取包含的元素 - 收集不具有在所有数据中的功能。因此,无法存储任何属于列表的东西 - 而字典本质上是列表(键/值对)。

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

+0

谢谢马克,我认为这就是我必须要做的。很高兴得到确认你没有做错什么。 –