我正在使用VS Express 2013以C#提供的dll驱动程序与设备进行通信。因此,我使用了由生产者定义的一些类。我想保存/读取一些对象到一个文件,但我不能将它们直接保存到一个二进制文件,因为:将对象写入无序列化的文件()
- ,因为他们提供的DLL 这些对象无法序列
- 我不能添加序列化的类
一个恼人的解决方案是保存所有信息中的对象一个接一个,即保存所有整数数组,布尔变量等
using (Stream stream = File.Open(fileName, FileMode.OpenOrCreate))
{
var bF = new System.Runtime.Serialization.Formatters.Binary.BinaryFormatter();
bF.Serialize(stream, saveObj.measurementType);
bF.Serialize(stream, saveObj.Results);
bF.Serialize(stream, saveObj.TimeStamp);
bF.Serialize(stream, saveObj.TXPowerSet);
bF.Serialize(stream, saveObj.ValidCalFlags);
}
是否有贝特r解决方案,这样我可以在几个步骤中保存/读取saveObj
?
它不一定是二进制文件。
编辑:根据评论修改了问题。
所以你的问题是如何序列化一个不可序列化的类?它是否是二进制的?你可以使用别的东西(比如XML或JSON)吗? – 2014-12-03 13:42:32
只要我可以在不处理所有变量的情况下保存/读取文件,任何事情都可以。 – Dorku 2014-12-03 13:45:13
请编辑您的问题以包含您的实际要求。 – 2014-12-03 13:46:53