你的位置:首页 > ASP.net教程

[ASP.net教程]类序列化


 class Program  {    static void Main(string[] args)    {      A a = new A() { AppId = "4", haor = "浩然" };      var bytes=a.ObjectToBytes(a);      var classA = a.BytesToObject(bytes);      Console.ReadKey();    }    [Serializable()]    public abstract class PacketBase    {      public string AppId { get; set; }      public string Token { get; set; }      public string DeviceId { get; set; }    }    [Serializable()]    public class A:PacketBase    {      public string haor { get; set; }      /// <summary>       /// 将一个object对象序列化,返回一个byte[]           /// </summary>       /// <param name="obj">能序列化的对象</param>           /// <returns></returns>       public byte[] ObjectToBytes(object obj)      {        using (MemoryStream ms = new MemoryStream())        {          IFormatter formatter = new BinaryFormatter(); formatter.Serialize(ms, obj); return ms.GetBuffer();        }      }      /// <summary>       /// 将一个序列化后的byte[]数组还原           /// </summary>      /// <param name="Bytes"></param>           /// <returns></returns>       public object BytesToObject(byte[] Bytes)      {        using (MemoryStream ms = new MemoryStream(Bytes))        {          IFormatter formatter = new BinaryFormatter(); return formatter.Deserialize(ms);        }      }    }  }