我正在使用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