【发布时间】:2012-06-09 02:15:10
【问题描述】:
我是协议缓冲区的新手,我正在为 VS2010 使用 protobuf-net。从我在这里读到的Dictionary in protocol buffers 来看,protobuf 似乎不能将具有对象类型作为值的字典序列化。但在他的网站上我读到了这个:
类型说明
支持:
被标记为数据契约的自定义类具有无参数 Silverlight 的构造函数:是公共的许多常见原语等 一维数组:T[] List / IList Dictionary / IDictionary 任何类型的 实现 IEnumerable 并具有 Add(T) 方法代码假定 that types will be mutable around the elected members.因此, 不支持自定义结构,因为它们应该是不可变的。
好像是支持的。
我可以像这样成功编译对象列表:
message ValuesObject {
optional int32 SomeVal = 1;
repeated SomeClass ListOfSomeClassTypes = 2;
}
这适用于List<SomeClass>。为什么我不能使用 protobuf-net a Dictionary<int, SomeClass> 序列化?序列化Dictionary<int, SomeClass> 的消息是什么样的?
【问题讨论】:
标签: c# protocol-buffers protobuf-net