有谁知道创造性的方式来序列化实现IDictionary的对象吗?没有实施新班级?如何序列化IDictionary
4
A
回答
11
如果实施IDictionary
类是可序列化(如Dictionary<K,V>
)和K
和V
都是可序列化,则标准的.NET序列化机制应该工作。
如果实施IDictionary
类是可序列化,但K
和V
是,那么你就可以使用两个数组序列化键和单独关联的值:我想你的意思是你必须序列化的字典,是
// before serialization
IDictionary<string,int> dict;
string[] keys = dict.Keys.ToArray();
int[] values = dict.Keys.Select(key => dict[key]).ToArray();
// after deserialization
IDictionary<string,int> dict = new Dictionary<string,int>();
for (int i = 0; i < keys.Length; i++)
dict.Add(keys[i], values[i]);
1
你无法控制的部分课程?
总之,你必须分别序列化键和值。要反序列化,请遍历键/值数组中的每个项并将其添加回字典。
0
您可以使用System.Runtime.Serialization.DataContractSerializer
,与ReadObject
和WriteObject
相同的方式,你会做Deserialize
和Serialize
。 它像一个魅力。
+0
它会串行化/反序列化内联吗?意思是,主序列化是xml,但它可以注入只是为导致问题的IDictionary属性? – toddmo 2013-11-11 15:51:24
相关问题
- 1. 序列化对象的IDictionary
- 2. 在另一个可序列化类中序列化IDictionary
- 3. 如何在Powershell中实例化IDictionary?
- 4. 对IDictionary递归反序列化JSON <string,object>
- 5. wcf netdatacontractserializer异常序列化idictionary与枚举作为键
- 6. SOAP/asmx/WebMethods的自定义(IDictionary)XML序列化?
- 7. 在WCF中序列化IDictionary <字符串,对象>
- 8. 如何序列化
- 9. 我怎样才能序列化和反序列化动态作为IDictionary <string,object>在Json.Net
- 10. 如何通过IDictionary枚举
- 11. 如何序列化/反序列化属性的通用列表?
- 12. 如何使用JSON序列化器序列化和反序列化MyClass?
- 13. 对象序列化为JSON,如何序列化属性(如XML)
- 14. 如何序列化该程序并将其反序列化
- 15. 无法序列化System.Collections.IDictionary类型的成员System.Exception.Data,因为它实现了IDictionary。
- 16. 如何反序列化
- 17. TinyXml如何序列化
- 18. 如何序列化System.Configuration.SettingsProperty
- 19. 如何序列化Windows.Media.Brush
- 20. 如何Xml序列化LinkedList?
- 21. 如何序列化数组?
- 22. 如何序列化HashSet
- 23. 如何序列化antlr3 AST
- 24. 如何序列化集合
- 25. 如何序列化ArrayList
- 26. 如何反序列化json?
- 27. 如何序列化phpseclib?
- 28. 如何反序列化时
- 29. 如何反序列化CommandResult?
- 30. 如何JSON序列化集?
由于我在课堂上有一些疯狂的访问者,我无法实现这个特定的解决方案,但它是我正在寻找的创造性解决方案的类型......所以我会将其标记为答案。谢谢! – 2009-09-01 23:59:56