using System;
using System.Collections.Generic;
using System.Text;
using System.IO;
using System.Runtime.Serialization.Formatters.Binary ;
namespace myserialization
{
class Program
{
static void Main(string[] args)
{
ser serial = new ser();
try
{
serial.load();
Console.WriteLine("打印书的信息");
Console.Write("书名:");
Console.WriteLine(serial.b.Bkname);
Console.Write("作者:");
Console.WriteLine(serial.b.Au);
Console.Write("价格:");
Console.WriteLine(serial.b.Pr.ToString());
}
catch (Exception e)
{
Console.WriteLine(e.Message.ToString ());
Console.WriteLine("请录入书名:");
string name = Console.ReadLine();
Console.WriteLine("请录入作者:");
string author = Console.ReadLine();
Console.WriteLine("请录入价格:");
double price = double.Parse(Console.ReadLine());
serial.b = new book(name, author, price);
serial.save();
}
}
}
[Serializable ]
public class book
{
public book()
{
}
private string bkname;
public string Bkname
{
get { return bkname; }
set { bkname = value; }
}
private string au;
public string Au
{
get { return au; }
set { au = value; }
}
private double pr;
public double Pr
{
get { return pr; }
set { pr = value; }
}
public book(string bookname,string author,double price)
{
this.bkname = bookname;
this.au = author;
this.pr = price;
}
}
public class ser
{
public book b = new book();
public void save()
{
FileStream fs = new FileStream("bb.bin",FileMode.Create );
BinaryFormatter bf = new BinaryFormatter();
bf.Serialize(fs, b);
fs.Close();
}
public void load()
{
FileStream fs = new FileStream("bb.bin", FileMode.Open );
BinaryFormatter bf = new BinaryFormatter();
b = (book )bf.Deserialize(fs);
fs.Close();
}
}
}