2017-07-25 177 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)中優選的新方法互換(數據方式)。