[英]Serialization in .NET
我的任務是序列化和反序列化對象。
我想知道:
我沒有傳遞Serialize方法中的對象,而是傳遞了object.properties
。 這會以任何方式影響它嗎?
FileStream fs = new FileStream(@"D:\Rough Work\Serialization\Serialization\bin\Debug\Log.txt",FileMode.OpenOrCreate);
Laptop obj = new Laptop();
obj.Model = 2;
obj.SerialNumber = 4;
BinaryFormatter formatter = new BinaryFormatter();
formatter.Serialize(fs, obj.Model);
formatter.Serialize(fs, obj.SerialNumber);
[Serializable]
class Laptop
{
public int Model;
public int SerialNumber;
}
您無需單獨序列化屬性。 您可以序列化整個對象並以相同的方式反序列化它。
using (var fs = new FileStream(@"D:\\Rough Work\\Serialization\\Serialization\\bin\\Debug\\Log.txt",FileMode.OpenOrCreate)) { var formatter = new BinaryFormatter(); formatter.Serialize(fs, obj); } using (var fs = new FileStream(@"D:\\Rough Work\\Serialization\\Serialization\\bin\\Debug\\Log.txt",FileMode.OpenOrCreate)) { var formatter = new BinaryFormatter(); obj = formatter.Deserialize(fs) as Laptop; }
如果您的問題是筆記本電腦類如何知道它正在被序列化,那么您可能想要實現ISerializable接口。
您可以將序列化的方法轉換為字符串,並將其輸出到調試窗口
我想知道:我的對象是否以執行方式序列化
然后,您可以使用xml序列化,以這種方式可以檢查序列化的對象,因為它是人類可讀的形式。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.