我有一個HybridDictionary
對象。是否可以使用Protobuf-net
來序列化HybridDictionary
對象?protobuf-net是否支持HybridDictionary?
1
A
回答
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)中優選的新方法互換(數據方式)。
相關問題
- 1. 是否支持MSNP9?
- 2. 是否支持DataGrid?
- 3. 是否支持ARC?
- 4. Firefox是否支持enablePrivilege(「UniversalBrowserRead」)?
- 5. Xcode 4.3是否支持distcc?
- 6. GCC是否支持C++ AMP
- 7. PySide是否支持Python 3?
- 8. AlertDialog是否支持WebView?
- 9. GWT是否支持php?
- 10. 是否正式支持android.speech.extra.DICTATION_MODE?
- 11. Android 4.0.3是否支持SIP?
- 12. 是否支持WSE 3.0?
- 13. logback是否支持log4j appenders?
- 14. py2app是否支持python3?
- 15. Freemarker是否支持MethodDescriptors?
- 16. JOGL是否支持NURBS?
- 17. System.Data.OracleClient是否支持oracle 11g?
- 18. Dapper是否支持枚舉?
- 19. Azure是否支持AIX?
- 20. WCF + net.tcp是否支持3DES?
- 21. Xcode 4是否支持AVX?
- 22. Memecached是否支持PHP 7?
- 23. 是否由webgl支持texture2DRect?
- 24. NSIS是否支持IIS7?
- 25. Qt是否支持OpenMP?
- 26. aforge.net是否支持OCR?
- 27. Facebook是否支持oEmbed?
- 28. Swift是否支持WebRTC?
- 29. Epplus是否支持Excel 2013?
- 30. ARKit是否支持iPhone SE?