2012-09-25 25 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

謝謝馬克,我認爲這就是我必須要做的。很高興得到確認你沒有做錯什麼。 –