2017-07-25 38 views

回答

1

目前没有,并有很好的理由:

  • 没有理解一个HybridDictionary的数据合同的方式,因为它只发布object密钥和值两者; protobuf网真的,真的想要了解的各类参与
  • 它不是吸引力来支持它,因为在很多情况下,它会要求拳击 - 通常是关键的(如果不是string),但往往的值

因此,我强烈建议使用Dictionary<TKey, TValue>或实施IDictionary<TKey, TValue>的东西。从理论上讲,我们可以添加API,允许您告诉它如何解释密钥和值(显然是在库中支持这项工作),但是我很怀疑实际上是否为真正的好处。坦率地说,我不确定这几天(或过去多年)使用HybridDictionary有什么用处。


实际上,直到2.3.0,protobuf网并没有真正支持直接Dictionary<TKey, TValue> - 至少,不是你想象的方式:直到map<...,...>功能已完全实现,它实际上锯是一个类似列表的东西,即可以解释为{some type}序列的东西,以及Add({some type})方法。在字典的情况下,{some type}碰巧是KeyValuePair<TKey, TValue>,其中转而可以被解释为元组类型(具有与构造函数完全匹配的成员,因此根据构造函数参数推断契约)。方便地,这与map<...,...>使用的形状完全相同,所以这种方法可以与2.3.0(which is discussed more here)中优选的新方法互换(数据方式)。