欧美一级内谢_91中文字幕在线_羞羞视频官网_亚洲日韩中文字幕天堂不卡_在线观看日韩一区_国产成人激情

通州北大青鳥校區(qū)講解:自定義序列化

通州北大青鳥校區(qū)學(xué)術(shù)部丁老師介紹:如果你希望讓用戶對(duì)類進(jìn)行串行化,但是對(duì)數(shù)據(jù)流的組織方式不完全滿意,那么可以通過(guò)在自定義類中實(shí)現(xiàn)接口來(lái)自定義串行化行為。這個(gè)接口只有一個(gè)方法,GetObjectData. 這個(gè)方法用于將對(duì)類對(duì)象進(jìn)行串行化所需要的數(shù)據(jù)填進(jìn)SerializationInfo對(duì)象。你使用的格式化器將構(gòu)造SerializationInfo對(duì)象,然后在串行化時(shí)調(diào)用GetObjectData. 如果類的父類也實(shí)現(xiàn)了ISerializable,那么應(yīng)該調(diào)用GetObjectData的父類實(shí)現(xiàn)。

如果你實(shí)現(xiàn)了ISerializable,那么還必須提供一個(gè)具有特定原型的構(gòu)造器,這個(gè)構(gòu)造器的參數(shù)列表必須與GetObjectData相同。這個(gè)構(gòu)造器應(yīng)該被聲明為私有的或受保護(hù)的,以防止粗心的開發(fā)人員直接使用它。

示例如下:
實(shí)現(xiàn)ISerializable的類:
(通州北大青鳥校區(qū))    
 using System;
 using System.Data;
 using System.Configuration;
 using System.Web;
 using System.Web.Security;
 using System.Web.UI;
 using System.Web.UI.WebControls;
 using System.Web.UI.WebControls.WebParts;
 using System.Web.UI.HtmlControls;
 using System.Runtime.Serialization;
 using System.Runtime.Serialization.Formatters.Binary;
  /// <summary>
 /// Employee 的摘要說(shuō)明
 /// </summary>
 [Serializable]
 public class Employee:ISerializable
  {
     public int EmpId=100;
     public string EmpName="劉德華";
     [NonSerialized]
     public string NoSerialString = "NoSerialString-Test";
     public Employee()
      {
         //
         // TODO: 在此處添加構(gòu)造函數(shù)邏輯
         //
     }
     private Employee(SerializationInfo info, StreamingContext ctxt)
      {
         EmpId = (int)info.GetValue("EmployeeId", typeof(int));
         EmpName = (String)info.GetValue("EmployeeName",typeof(string));
         //NoSerialString = (String)info.GetValue("EmployeeString",typeof(string));
     }
     public void GetObjectData(SerializationInfo info, StreamingContext ctxt)
      {
         info.AddValue("EmployeeId", EmpId);
         info.AddValue("EmployeeName", EmpName);
         //info.AddValue("EmployeeString", NoSerialString);
     }
 }(通州北大青鳥校區(qū)
 

    序列化和反序列化方法:
 public void OtherEmployeeClassTest()
      {
         Employee mp = new Employee();
         mp.EmpId = 10;
         mp.EmpName = "邱楓";
         mp.NoSerialString = "你好呀";
         Stream steam = File.Open("c:\\temp3.dat", FileMode.Create);
         BinaryFormatter bf = new BinaryFormatter();
         Response.Write("Writing Employee Info:");
         bf.Serialize(steam,mp);
         steam.Close();
         mp = null;
         //反序列化
         Stream steam2 = File.Open("c:\\temp3.dat", FileMode.Open);
         BinaryFormatter bf2 = new BinaryFormatter();
         Response.Write("Reading Employee Info:");
         Employee mp2 = (Employee)bf2.Deserialize(steam2);
         steam2.Close();
         Response.Write(mp2.EmpId);
         Response.Write(mp2.EmpName);
         Response.Write(mp2.NoSerialString);
     }
通州北大青鳥校區(qū)學(xué)術(shù)部提供

北大青鳥網(wǎng)上報(bào)名
北大青鳥招生簡(jiǎn)章
主站蜘蛛池模板: 香蕉婷婷 | 亚洲人免费视频 | 一区二区日韩 | 香蕉一区| 成人精品视频 | 盗摄精品av一区二区三区 | 91资源在线播放 | 九九热在线免费视频 | 99爱在线视频 | 久久最新精品 | 91在线网站 | 一区二区久久精品 | 亚洲综合在线视频 | 一区观看| 91精品国产高清一区二区三区 | 中文在线a在线 | 一级免费在线视频 | 午夜小影院 | 久久精品久久久久久 | 一区二区三区视频在线 | 伊人精品在线视频 | 欧美不卡在线 | 欧美日韩国产一区二区三区 | 日韩亚洲一区二区 | 日韩精品成人 | 国产精品久久久久久久久久免费 | 成人av免费 | 欧美日韩在线视频一区二区 | 国产美女免费视频 | 国产精品免费一区二区三区四区 | 欧美一级在线视频 | 成人毛片在线视频 | 精品一区久久 | 色婷婷综合久久久中字幕精品久久 | 精品亚洲一区二区三区 | 女女百合av大片一区二区三区九县 | 精品久久久久久亚洲综合网 | 91秦先生艺校小琴 | 亚洲九九| www..com18午夜观看 | 成人国产精品免费观看 |