【发布时间】:2013-11-26 15:51:35
【问题描述】:
所以我有一个包含浮点数列表的类[]。除此字段外的所有内容都是可序列化的。列表的大小不同,但 float[] 的大小是恒定的。
List<float[]> listOfStuff;
我编写了一个使用 Linq to XML 编写文件的方法,但我希望使用 Soap 或二进制格式化程序来完成这项工作。我在想如果我改变类,我不必改变所有的读写方法,如果需要,我可以使用二进制格式化程序序列化文件。此外,它本质上是几行代码,而不是很多。
关于如何使用序列化为包含列表的对象编写单个文件有什么想法吗?
编辑:
我收到了错误:
An unhandled exception of type 'System.Runtime.Serialization.SerializationException' occurred in System.Runtime.Serialization.Formatters.Soap.dll
Additional information: Soap Serializer does not support serializing Generic Types : System.Collections.Generic.List`1[Application.MyClass].
感谢 BRAHIM 卡梅尔
问题不在于Brahim 在 cmets 中所说的对象中的列表,这似乎工作正常。这是我在写入一个文件时遇到问题的那些对象的列表(所以更深一层)。我试图序列化编写并包含我要编写的列表的类,并得到上述错误。
【问题讨论】:
-
我看不出 DataContractSerializer 不能从您的数据生成 SOAP 消息的任何原因。您尝试了什么,有什么问题?
-
List
默认情况下是可序列化的,所以你的问题到底是什么 -
@nvoigt 我刚刚尝试使用肥皂和二进制格式化程序序列化和反序列化方法。我将不得不继续阅读并尝试 DataContractSerializer。如果可行,我会发布它。
-
@JDub 你觉得这个链接很有趣social.msdn.microsoft.com/Forums/en-US/…
-
@N4tkd BinaryFormatter 工作正常!感谢您的链接。
标签: c# linq serialization soap