using System;
using System.Collections;
using System.IO;
using System.Runtime.Serialization;
using System.Runtime.Serialization.Formatters.Binary;
namespace Serialize
{
/// <summary>
/// Class1 的摘要说明。
/// </summary>
class Class1
{
/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main(string[] args)
{
Person person=new Person("111","张三");
Person p=(Person)person.Clone();
Stream sw=File.Create("PersonList.bin");
System.Runtime.Serialization.Formatters.Binary.BinaryFormatter bf=new BinaryFormatter();
bf.Serialize(sw,person);
sw.Close();
Stream sr=File.OpenRead("PersonList.bin");
Person zhansan=(Person)bf.Deserialize(sr);
Console.WriteLine("{0},{1},{2},{3}",person==zhansan,p==person,zhansan.id,zhansan.name);
Console.ReadLine();
}
[Serializable]
public class Person:ICloneable
{
public string id;
public string name;
public Person()
{
}
// public Person(Person p)
// {
//
// }
public Person(string id,string name)
{
this.id=id;
this.name=name;
}
// public object Clone()
// {
// Person temp=new Person();
// temp.id=this.id;
// temp.name=this.name;
//
// return temp;
//
//
// }
public object Clone()
{
return this;
}
}
}
}