using System;
using System.Collections.Generic;
using System.Text;
using System.Runtime.Serialization;
using System.Runtime.Serialization.Formatters.Binary;
using System.IO;
namespace SerializableTest
{
[Serializable]
public class Member{
public String name = null;
public int age = 0;
public int weight = 0;
}
class Program
{
static void Main(string[] args)
{
SerializableObj();
//DeSerializableObj();
}
public static void SerializableObj()
{
//下面是一段执行序列化简单的代码
Member obj = new Member();
obj.age = 20;
obj.weight = 120;
obj.name = "Jhon";
IFormatter formatter = new BinaryFormatter();
Stream stream = new FileStream("MyFile.bin",FileMode.Create,FileAccess.Write,FileShare.None);
formatter.Serialize(stream,obj);
stream.Close();
}
public static void DeSerializableObj()
{
//下面是从前面得到的文件的反序列化
IFormatter formatter = new BinaryFormatter();
Stream stream = new FileStream("MyFile.bin", FileMode.Open,FileAccess.Read, FileShare.Read);
Member obj = (Member)formatter.Deserialize(stream);
stream.Close();
// Here’s the proof
Console.WriteLine("n1: {0}", obj.name);
Console.WriteLine("n2: {0}", obj.age);
Console.WriteLine("str: {0}", obj.weight);
Console.ReadLine();
}
}
}