Abi*_*Ali 2 .net c# binary-serialization
我的任务是序列化和反序列化一个对象.
我想知道:
我没有在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;
}
Run Code Online (Sandbox Code Playgroud)
您无需单独序列化属性.您可以序列化整个对象并以相同的方式反序列化它.
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;
}
Run Code Online (Sandbox Code Playgroud)如果您的问题是Laptop类如何知道它正在被序列化,那么您可能想要实现ISerializable接口.
请参见BinaryFormatter.Deserialize
| 归档时间: |
|
| 查看次数: |
397 次 |
| 最近记录: |