using System;
using System.IO;
using System.Runtime.Serialization.Formatters.Binary;
namespace Serializable
{
[Serializable]
public class Person
{
public string personName;
[NonSerialized]
public string personHeight;
private int personAge;
public int PersonAge
{
get { return personAge; }
set { personAge = value; }
}
public void Write()
{
Console.WriteLine("Person Name: "+personName);
Console.WriteLine("Person Height: " +personHeight);
Console.WriteLine("Person Age: "+ personAge);
}
}
class Program
{
static void Main(string[] args)
{
Person person = new Person();
person.personName = "Jerry";
person.personHeight = "175CM";
person.PersonAge = 22;
Stream stream = Serialize(person);
//为了演示,都重置
stream.Position = 0;
person = null;
person = Deserialize(stream);
person.Write();
Console.Read();
}
private static MemoryStream Serialize(Person person)
{
MemoryStream stream = new MemoryStream();
// 构造二进制序列化格式器
BinaryFormatter binaryFormatter = new BinaryFormatter();
// 告诉序列化器将对象序列化到一个流中
binaryFormatter.Serialize(stream, person);
return stream;
}
private static Person Deserialize(Stream stream)
{
BinaryFormatter binaryFormatter = new BinaryFormatter();
return (Person)binaryFormatter.Deserialize(stream);
}
}
}
using System;
using System.IO;
using System.Runtime.Serialization;
using System.Runtime.Serialization.Formatters.Binary;
namespace ControlSerialization
{
[Serializable]
public class Circle
{
private double radius; //半径
[NonSerialized]
public double area; //面积
public Circle(double inputradiu)
{
radius = inputradiu;
area = Math.PI * radius * radius;
}
[OnDeserialized]
private void OnDeserialized(StreamingContext context)
{
area = Math.PI * radius * radius;
}
public void Write()
{
Console.WriteLine("Radius is: " + radius);
Console.WriteLine("Area is: " + area);
}
}
class Program
{
static void Main(string[] args)
{
Circle c = new Circle(10);
MemoryStream stream =new MemoryStream();
BinaryFormatter formatter = new BinaryFormatter();
// 将对象序列化到内存流中,这里可以使用System.IO.Stream抽象类中派生的任何类型的一个对象, 这里我使用了 MemoryStream类型。
formatter.Serialize(stream,c);
stream.Position = 0;
c = null;
c = (Circle)formatter.Deserialize(stream);
c.Write();
Console.Read();
}
}
}
using System;
using System.IO;
using System.Runtime.Serialization;
using System.Runtime.Serialization.Formatters.Binary;
using System.Security.Permissions;
namespace ControlSerilization2
{
[Serializable]
public class MyObject : ISerializable
{
public int n1;
public intn2;
[NonSerialized]
public String str;
public MyObject()
{
}
protected MyObject(SerializationInfo info, StreamingContext context)
{
n1 = info.GetInt32("i");
n2 = info.GetInt32("j");
str = info.GetString("k");
}
[SecurityPermissionAttribute(SecurityAction.Demand, SerializationFormatter = true)]
public virtual void GetObjectData(SerializationInfo info, StreamingContext context)
{
info.AddValue("i", n1);
info.AddValue("j", n2);
info.AddValue("k", str);
}
public void Write()
{
Console.WriteLine("n1 is: " + n1);
Console.WriteLine("n2 is: " + n2);
Console.WriteLine("str is: " + str);
}
}
class Program
{
static void Main(string[] args)
{
MyObject obj = new MyObject();
obj.n1 = 2;
obj.n2 = 3;
obj.str = "Jeffy";
MemoryStream stream = new MemoryStream();
BinaryFormatter formatter = new BinaryFormatter();
// 将对象序列化到内存流中,这里可以使用System.IO.Stream抽象类中派生的任何类型的一个对象, 这里我使用了 MemoryStream类型。
formatter.Serialize(stream, obj);
stream.Position = 0;
obj = null;
obj = (MyObject)formatter.Deserialize(stream);
obj.Write();
Console.Read();
}
}
}
机械节能产品生产企业官网模板...
大气智能家居家具装修装饰类企业通用网站模板...
礼品公司网站模板
宽屏简约大气婚纱摄影影楼模板...
蓝白WAP手机综合医院类整站源码(独立后台)...苏ICP备2024110244号-2 苏公网安备32050702011978号 增值电信业务经营许可证编号:苏B2-20251499 | Copyright 2018 - 2025 源码网商城 (www.ymwmall.com) 版权所有