我是新來的協議緩衝區,我使用的是VS2010的protobuf-net。從我在這裏讀到的Dictionary in protocol buffers看來,似乎protobuf可以序列化一個帶有對象類型作爲值的字典。但在這裏,他的網站上我讀到:C#.net協議緩衝區 - protobuf-net支持序列化對象值字典嗎?
注意事項類型
支持:
自定義類是:被標記爲數據合同有一個無參數 構造爲Silverlight:是很多市民共同原語等 單維數組:T []列表/ IList 字典/ IDictionary任何類型,其中 實現IEnumerable並具有Add(T)方法代碼假定 類型將在選舉成員周圍是可變的。因此, 定製結構不受支持,因爲它們應該是不可變的。
它似乎是支持。
我能成功編譯對象的名單,像這樣:
message ValuesObject {
optional int32 SomeVal = 1;
repeated SomeClass ListOfSomeClassTypes = 2;
}
這對於List<SomeClass>
工作正常。爲什麼我不能使用protobuf-net a Dictionary<int, SomeClass>
進行序列化?消息看起來是什麼樣的序列化Dictionary<int, SomeClass>
?