c#-使用SOAP Edit序列化包含列表的类
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了c#-使用SOAP Edit序列化包含列表的类,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1641字,纯文字阅读大概需要3分钟。
内容图文
![c#-使用SOAP Edit序列化包含列表的类](/upload/InfoBanner/zyjiaocheng/678/be5c4d5680f84f94b1e6d56d58bfc048.jpg)
所以我有一个包含floats []列表的类.除此字段外的所有内容均可序列化.列表的大小各不相同,但float []的大小不变.
List<float[]> listOfStuff;
我已经编写了一种使用Linq到XML编写文件的方法,但是我希望使用Soap或Binary格式化程序来完成这项工作.我在考虑是否要更改类,而不必更改所有读取和写入方法,如果需要,我可以使用二进制格式化程序对文件进行序列化.另外,它实际上是几行代码而不是很多行.
关于如何使用序列化为包含列表的对象编写单个文件的任何想法?
编辑:
我收到错误消息:
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 Kamel
问题不在于Brahim在评论中所说的对象中的List,似乎很好.这是我无法写入一个文件(更深一层)的那些对象的列表.我试图序列化进行编写并包含要编写的列表的类,并收到上述错误.
解决方法:
我想我会回答,因为没有参与者.我在阅读上面链接的论坛时发现了这一点.
只需使用“ XmlSerializer”而不是SOAP序列化器即可.它的工作原理相对相同.现在,如果我对类进行了更改,则不必也将Linq更改为XML代码.再加上现在只有几行.
看起来他们不再支持Soap,而Soap不支持序列化通用列表.
public void saveXML(string filePath)
{
using (FileStream stream = new FileStream(filePath, FileMode.Create))
{
XmlSerializer format = new XmlSerializer(typeof(List<MyClass>));
format.Serialize(stream, this.postList);
}
}
private void readXML(string fileLocation)
{
using (FileStream stream = new FileStream(fileLocation,FileMode.Open))
{
XmlSerializer format = new XmlSerializer(typeof(List<MyClass>));
postList = format.Deserialize(stream) as List<MyClass>;
}
}
内容总结
以上是互联网集市为您收集整理的c#-使用SOAP Edit序列化包含列表的类全部内容,希望文章能够帮你解决c#-使用SOAP Edit序列化包含列表的类所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。