Remoting系列专题---自定义序列化类
生活随笔
收集整理的這篇文章主要介紹了
Remoting系列专题---自定义序列化类
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
最近項目開發中的傳輸數據是圍繞Remoting而召開的,所以想把所有的數據實體都定義統一的格式,于是就寫了一個基于DataTable的基類BaseModal,其他數據實體全部繼承于它。此BaseModal基類還包括了一些其他的自有的屬性,例如pageSize每頁記錄數、currentPage當前頁碼等等,代碼如下:
??1
??2文件描述#region?文件描述
??3//?-------------------------------------------------------------------------------------------------
??4//?文?件?名:BaseModel.cs
??5//?創?建?者:李毅
??6//?創建日期:2006年06月13日
??7//?命名空間:Colorful.Model
??8//?類????型:BaseModel類
??9//?版????本:1.0.0
?10//?描????述:數據基本表
?11//?-------------------------------------------------------------------------------------------------
?12#endregion
?13
?14修改記錄#region?修改記錄
?15//?-------------------------------------------------------------------------------------------------
?16//?修改日期:
?17//?修?改?者:
?18//?修?改?項:
?19//?-------------------------------------------------------------------------------------------------
?20#endregion
?21
?22using?System;
?23using?System.Data;
?24using?System.Text;
?25using?System.Runtime.Serialization;
?26
?27namespace?Colorful.Model
?28{
?29????/**////?<summary>
?30????///?數據基本表
?31????///?</summary>
?32????[Serializable]
?33????public?class?BaseModel?:?DataTable
?34????{
?35????????protected???int?????index;??????????//記錄當前行
?36????????protected???int?????pageSize;???????//每頁記錄數
?37????????protected???int?????currentPage;????//當前頁碼
?38????????protected???int?????pages;??????????//總頁數
?39????????protected???long????totalRecord;????//總記錄數
?40????????protected?string?description;????//其他描述,及其輔助功能
?41
?42????????public?int?PageSize#region?public?int?PageSize
?43????????//?-----------------------------------------------------------------------------------------
?44????????/**////?<summary>
?45????????///?設置或者獲取每頁記錄數
?46????????///?</summary>
?47????????public?int?PageSize
?48????????{
?49????????????get?{?return?pageSize;?}
?50????????????set?{?pageSize?=?value;?}
?51????????}
?52????????//?-----------------------------------------------------------------------------------------
?53????????#endregion
?54
?55????????public?int?CurrentPage#region?public?int?CurrentPage
?56????????//?-----------------------------------------------------------------------------------------
?57????????/**////?<summary>
?58????????///?設置或者獲取當前頁碼
?59????????///?</summary>
?60????????public?int?CurrentPage
?61????????{
?62????????????get?{?return?currentPage;?}
?63????????????set?{?currentPage?=?value;?}
?64????????}
?65????????//?-----------------------------------------------------------------------------------------
?66????????#endregion
?67
?68????????public?int?Pages#region?public?int?Pages
?69????????//?-----------------------------------------------------------------------------------------
?70????????/**////?<summary>
?71????????///?設置或者獲取總頁數
?72????????///?</summary>
?73????????public?int?Pages
?74????????{
?75????????????get?{?return?pages;?}
?76????????????set?{?pages?=?value;?}
?77????????}
?78????????//?-----------------------------------------------------------------------------------------
?79????????#endregion
?80
?81????????public?long?TotalRecord#region?public?long?TotalRecord
?82????????//?-----------------------------------------------------------------------------------------
?83????????/**////?<summary>
?84????????///?設置或者獲取總記錄數
?85????????///?</summary>
?86????????public?long?TotalRecord
?87????????{
?88????????????get?{?return?totalRecord;?}
?89????????????set?{?totalRecord?=?value;?}
?90????????}
?91????????//?-----------------------------------------------------------------------------------------
?92????????#endregion
?93
?94????????public?string?Description#region?public?string?Description
?95????????//?-----------------------------------------------------------------------------------------
?96????????/**////?<summary>
?97????????///?其他描述
?98????????///?</summary>
?99????????public?string?Description
100????????{
101????????????get?{?return?description;?}
102????????????set?{?description?=?value;?}
103????????}
104????????//?-----------------------------------------------------------------------------------------
105????????#endregion
106
107????????public?string?GUID#region?public?string?GUID
108????????//?-----------------------------------------------------------------------------------------
109????????/**////?<summary>
110????????///?設置或獲取當前表記錄ID
111????????///?</summary>
112????????public?string?GUID
113????????{
114????????????get
115????????????{
116????????????????return?index?==?-1???""?:?Rows[index]["GUID"].ToString();
117????????????}
118????????????set
119????????????{
120????????????????if?(index?>?-1)
121????????????????{
122????????????????????Rows[index]["GUID"]?=?value;
123????????????????}
124????????????}
125????????}
126????????//?-----------------------------------------------------------------------------------------
127????????#endregion
128
129????????
130
131????????public?BaseModel()#region?public?BaseModel()
132????????//?-----------------------------------------------------------------------------------------
133????????/**////?<summary>
134????????///?構造函數
135????????///?</summary>
136????????public?BaseModel()
137????????{
138????????????index?=?-1;
139????????????pageSize?=?20;
140????????????currentPage?=?1;
141????????????pages?=?1;
142????????????totalRecord?=?0;
143????????????description?=?"";
144
145????????????Columns.Add("GUID",?typeof(string));
146????????}
147????????//?-----------------------------------------------------------------------------------------
148????????#endregion
149
150????????public?bool?MoveNext()#region?public?bool?MoveNext()
151????????//?-----------------------------------------------------------------------------------------
152????????/**////?<summary>
153????????///?向后移動一行
154????????///?</summary>
155????????public?bool?MoveNext()
156????????{
157????????????if?(index?<?Rows.Count?-?1)
158????????????{
159????????????????index++;
160????????????????return?true;
161????????????}
162????????????return?false;
163????????}
164????????//?-----------------------------------------------------------------------------------------
165????????#endregion
166
167????????public?bool?MovePre()#region?public?bool?MovePre()
168????????//?-----------------------------------------------------------------------------------------
169????????/**////?<summary>
170????????///?向前移動一行
171????????///?</summary>
172????????public?bool?MovePre()
173????????{
174????????????if?(index?>?1)
175????????????{
176????????????????index--;
177????????????????return?true;
178????????????}
179????????????return?false;
180????????}
181????????//?-----------------------------------------------------------------------------------------
182????????#endregion
183
184????????public?bool?GoToRow(int?rowIndex)#region?public?bool?GoToRow(int?rowIndex)
185????????//?-----------------------------------------------------------------------------------------
186????????/**////?<summary>
187????????///?轉到指定行
188????????///?</summary>
189????????///?<param?name="rowIndex">行號,0為第一行</param>
190????????///?<returns>返回是否定位成功</returns>
191????????public?bool?GoToRow(int?rowIndex)
192????????{
193????????????if?(rowIndex?>?-1?&&?rowIndex?<?Rows.Count)
194????????????{
195????????????????this.index?=?rowIndex;
196????????????????return?true;
197????????????}
198????????????return?false;
199????????}
200????????//?-----------------------------------------------------------------------------------------
201????????#endregion
202
203????????public?bool?GoToFirst()#region?public?bool?GoToFirst()
204????????//?-----------------------------------------------------------------------------------------
205????????/**////?<summary>
206????????///?轉到首行
207????????///?</summary>
208????????///?<returns>返回是否定位成功</returns>
209????????public?bool?GoToFirst()
210????????{
211????????????if?(Rows.Count?>?0)
212????????????{
213????????????????this.index?=?0;
214????????????????return?true;
215????????????}
216????????????return?false;
217????????}
218????????//?-----------------------------------------------------------------------------------------
219????????#endregion
220
221????????public?bool?GoToLast()#region?public?bool?GoToLast()
222????????//?-----------------------------------------------------------------------------------------
223????????/**////?<summary>
224????????///?轉到尾行
225????????///?</summary>
226????????///?<returns>返回是否定位成功</returns>
227????????public?bool?GoToLast()
228????????{
229????????????if?(Rows.Count?>?0)
230????????????{
231????????????????this.index?=?Rows.Count?-?1;
232????????????????return?true;
233????????????}
234????????????return?false;
235????????}
236????????//?-----------------------------------------------------------------------------------------
237????????#endregion
238
239????????public?void?Insert()#region?public?void?Insert()
240????????//?-----------------------------------------------------------------------------------------
241????????/**////?<summary>
242????????///?插入空行,并把空行當作當前行
243????????///?</summary>
244????????public?void?Insert()
245????????{
246????????????Rows.Add(NewRow());
247????????????index?=?Rows.Count?-?1;
248????????}
249????????//?-----------------------------------------------------------------------------------------
250????????#endregion
251
252????????public?void?Delete()#region?public?void?Delete()
253????????//?-----------------------------------------------------------------------------------------
254????????/**////?<summary>
255????????///?刪除當前行
256????????///?</summary>
257????????public?void?Delete()
258????????{
259????????????if?(index?>?-1)
260????????????{
261????????????????Rows[index].Delete();
262????????????????if?(index?==?Rows.Count)
263????????????????{
264????????????????????index?=?Rows.Count?-?1;
265????????????????}
266????????????}
267????????}
268????????//?-----------------------------------------------------------------------------------------
269????????#endregion
270
271????????}
272}
273 結果發現數據在放序列化的時候出錯,發現原來是沒有加入序列化和反序列化構造函數,雖然BaseModal繼承于DataTable,并且加入了[Serializable]樹序列化屬性,但是要實現想繼承序列化,還是要加入構造函數,于是加入:
?1protected?BaseModel(SerializationInfo?info,?StreamingContext?context)?:?base(info,?context)#region?protected?BaseModel(SerializationInfo?info,?StreamingContext?context)?:?base(info,?context)
?2????????//?-----------------------------------------------------------------------------------------
?3????????/**////?<summary>
?4????????///?反序列化構造函數
?5????????///?</summary>
?6????????///?<param?name="si">反序列化所需的全部數據</param>
?7????????///?<param?name="context">目標描述</param>
?8????????protected?BaseModel(SerializationInfo?info,?StreamingContext?context)?:?base(info,?context)
?9????????{
10????????}
11????????//?-----------------------------------------------------------------------------------------
12????????#endregion
13
14????????public?override?void?GetObjectData(SerializationInfo?info,?StreamingContext?context)#region?public?override?void?GetObjectData(SerializationInfo?info,?StreamingContext?context)
15????????//?-----------------------------------------------------------------------------------------
16????????/**////?<summary>
17????????///?序列化函數
18????????///?</summary>
19????????///?<param?name="info">序列化所需的全部數據</param>
20????????///?<param?name="context">目標描述</param>
21????????public?override?void?GetObjectData(SerializationInfo?info,?StreamingContext?context):base.GetObjectData(info,?context)
22????????{
23?????????}
24????????//?-----------------------------------------------------------------------------------------
25????????#endregion
結果編譯,沒有任何錯誤,但是類中的屬性(pageSize等)值卻獲取不到,想了很久,發現其實道理跟前面有些類似,因為自己加入的屬性根本就沒有“告訴”序列化函數去處理,自然而然值就丟失了,于是修改函數如下:
?1protected?BaseModel(SerializationInfo?info,?StreamingContext?context)?:?base(info,?context)#region?protected?BaseModel(SerializationInfo?info,?StreamingContext?context)?:?base(info,?context)
?2????????//?-----------------------------------------------------------------------------------------
?3????????/**////?<summary>
?4????????///?反序列化構造函數
?5????????///?</summary>
?6????????///?<param?name="si">反序列化所需的全部數據</param>
?7????????///?<param?name="context">目標描述</param>
?8????????protected?BaseModel(SerializationInfo?info,?StreamingContext?context)?:?base(info,?context)
?9????????{
10????????????index?=?info.GetInt32("index");
11????????????pageSize?=?info.GetInt32("pageSize");
12????????????currentPage?=?info.GetInt32("currentPage");
13????????????pages?=?info.GetInt32("pages");
14????????????totalRecord?=?info.GetInt64("totalRecord");
15????????????description?=?info.GetString("description");
16????????}
17????????//?-----------------------------------------------------------------------------------------
18????????#endregion
19
20????????public?override?void?GetObjectData(SerializationInfo?info,?StreamingContext?context)#region?public?override?void?GetObjectData(SerializationInfo?info,?StreamingContext?context)
21????????//?-----------------------------------------------------------------------------------------
22????????/**////?<summary>
23????????///?序列化函數
24????????///?</summary>
25????????///?<param?name="info">序列化所需的全部數據</param>
26????????///?<param?name="context">目標描述</param>
27????????public?override?void?GetObjectData(SerializationInfo?info,?StreamingContext?context)
28????????{
29????????????info.AddValue("index",?index);
30????????????info.AddValue("pageSize",?pageSize);
31????????????info.AddValue("currentPage",?currentPage);
32????????????info.AddValue("pages",?pages);
33????????????info.AddValue("totalRecord",?totalRecord);
34????????????info.AddValue("description",?description);
35????????????base.GetObjectData(info,?context);
36????????}
37????????//?-----------------------------------------------------------------------------------------
38????????#endregion
OK,一切搞定了
??1
??2文件描述#region?文件描述
??3//?-------------------------------------------------------------------------------------------------
??4//?文?件?名:BaseModel.cs
??5//?創?建?者:李毅
??6//?創建日期:2006年06月13日
??7//?命名空間:Colorful.Model
??8//?類????型:BaseModel類
??9//?版????本:1.0.0
?10//?描????述:數據基本表
?11//?-------------------------------------------------------------------------------------------------
?12#endregion
?13
?14修改記錄#region?修改記錄
?15//?-------------------------------------------------------------------------------------------------
?16//?修改日期:
?17//?修?改?者:
?18//?修?改?項:
?19//?-------------------------------------------------------------------------------------------------
?20#endregion
?21
?22using?System;
?23using?System.Data;
?24using?System.Text;
?25using?System.Runtime.Serialization;
?26
?27namespace?Colorful.Model
?28{
?29????/**////?<summary>
?30????///?數據基本表
?31????///?</summary>
?32????[Serializable]
?33????public?class?BaseModel?:?DataTable
?34????{
?35????????protected???int?????index;??????????//記錄當前行
?36????????protected???int?????pageSize;???????//每頁記錄數
?37????????protected???int?????currentPage;????//當前頁碼
?38????????protected???int?????pages;??????????//總頁數
?39????????protected???long????totalRecord;????//總記錄數
?40????????protected?string?description;????//其他描述,及其輔助功能
?41
?42????????public?int?PageSize#region?public?int?PageSize
?43????????//?-----------------------------------------------------------------------------------------
?44????????/**////?<summary>
?45????????///?設置或者獲取每頁記錄數
?46????????///?</summary>
?47????????public?int?PageSize
?48????????{
?49????????????get?{?return?pageSize;?}
?50????????????set?{?pageSize?=?value;?}
?51????????}
?52????????//?-----------------------------------------------------------------------------------------
?53????????#endregion
?54
?55????????public?int?CurrentPage#region?public?int?CurrentPage
?56????????//?-----------------------------------------------------------------------------------------
?57????????/**////?<summary>
?58????????///?設置或者獲取當前頁碼
?59????????///?</summary>
?60????????public?int?CurrentPage
?61????????{
?62????????????get?{?return?currentPage;?}
?63????????????set?{?currentPage?=?value;?}
?64????????}
?65????????//?-----------------------------------------------------------------------------------------
?66????????#endregion
?67
?68????????public?int?Pages#region?public?int?Pages
?69????????//?-----------------------------------------------------------------------------------------
?70????????/**////?<summary>
?71????????///?設置或者獲取總頁數
?72????????///?</summary>
?73????????public?int?Pages
?74????????{
?75????????????get?{?return?pages;?}
?76????????????set?{?pages?=?value;?}
?77????????}
?78????????//?-----------------------------------------------------------------------------------------
?79????????#endregion
?80
?81????????public?long?TotalRecord#region?public?long?TotalRecord
?82????????//?-----------------------------------------------------------------------------------------
?83????????/**////?<summary>
?84????????///?設置或者獲取總記錄數
?85????????///?</summary>
?86????????public?long?TotalRecord
?87????????{
?88????????????get?{?return?totalRecord;?}
?89????????????set?{?totalRecord?=?value;?}
?90????????}
?91????????//?-----------------------------------------------------------------------------------------
?92????????#endregion
?93
?94????????public?string?Description#region?public?string?Description
?95????????//?-----------------------------------------------------------------------------------------
?96????????/**////?<summary>
?97????????///?其他描述
?98????????///?</summary>
?99????????public?string?Description
100????????{
101????????????get?{?return?description;?}
102????????????set?{?description?=?value;?}
103????????}
104????????//?-----------------------------------------------------------------------------------------
105????????#endregion
106
107????????public?string?GUID#region?public?string?GUID
108????????//?-----------------------------------------------------------------------------------------
109????????/**////?<summary>
110????????///?設置或獲取當前表記錄ID
111????????///?</summary>
112????????public?string?GUID
113????????{
114????????????get
115????????????{
116????????????????return?index?==?-1???""?:?Rows[index]["GUID"].ToString();
117????????????}
118????????????set
119????????????{
120????????????????if?(index?>?-1)
121????????????????{
122????????????????????Rows[index]["GUID"]?=?value;
123????????????????}
124????????????}
125????????}
126????????//?-----------------------------------------------------------------------------------------
127????????#endregion
128
129????????
130
131????????public?BaseModel()#region?public?BaseModel()
132????????//?-----------------------------------------------------------------------------------------
133????????/**////?<summary>
134????????///?構造函數
135????????///?</summary>
136????????public?BaseModel()
137????????{
138????????????index?=?-1;
139????????????pageSize?=?20;
140????????????currentPage?=?1;
141????????????pages?=?1;
142????????????totalRecord?=?0;
143????????????description?=?"";
144
145????????????Columns.Add("GUID",?typeof(string));
146????????}
147????????//?-----------------------------------------------------------------------------------------
148????????#endregion
149
150????????public?bool?MoveNext()#region?public?bool?MoveNext()
151????????//?-----------------------------------------------------------------------------------------
152????????/**////?<summary>
153????????///?向后移動一行
154????????///?</summary>
155????????public?bool?MoveNext()
156????????{
157????????????if?(index?<?Rows.Count?-?1)
158????????????{
159????????????????index++;
160????????????????return?true;
161????????????}
162????????????return?false;
163????????}
164????????//?-----------------------------------------------------------------------------------------
165????????#endregion
166
167????????public?bool?MovePre()#region?public?bool?MovePre()
168????????//?-----------------------------------------------------------------------------------------
169????????/**////?<summary>
170????????///?向前移動一行
171????????///?</summary>
172????????public?bool?MovePre()
173????????{
174????????????if?(index?>?1)
175????????????{
176????????????????index--;
177????????????????return?true;
178????????????}
179????????????return?false;
180????????}
181????????//?-----------------------------------------------------------------------------------------
182????????#endregion
183
184????????public?bool?GoToRow(int?rowIndex)#region?public?bool?GoToRow(int?rowIndex)
185????????//?-----------------------------------------------------------------------------------------
186????????/**////?<summary>
187????????///?轉到指定行
188????????///?</summary>
189????????///?<param?name="rowIndex">行號,0為第一行</param>
190????????///?<returns>返回是否定位成功</returns>
191????????public?bool?GoToRow(int?rowIndex)
192????????{
193????????????if?(rowIndex?>?-1?&&?rowIndex?<?Rows.Count)
194????????????{
195????????????????this.index?=?rowIndex;
196????????????????return?true;
197????????????}
198????????????return?false;
199????????}
200????????//?-----------------------------------------------------------------------------------------
201????????#endregion
202
203????????public?bool?GoToFirst()#region?public?bool?GoToFirst()
204????????//?-----------------------------------------------------------------------------------------
205????????/**////?<summary>
206????????///?轉到首行
207????????///?</summary>
208????????///?<returns>返回是否定位成功</returns>
209????????public?bool?GoToFirst()
210????????{
211????????????if?(Rows.Count?>?0)
212????????????{
213????????????????this.index?=?0;
214????????????????return?true;
215????????????}
216????????????return?false;
217????????}
218????????//?-----------------------------------------------------------------------------------------
219????????#endregion
220
221????????public?bool?GoToLast()#region?public?bool?GoToLast()
222????????//?-----------------------------------------------------------------------------------------
223????????/**////?<summary>
224????????///?轉到尾行
225????????///?</summary>
226????????///?<returns>返回是否定位成功</returns>
227????????public?bool?GoToLast()
228????????{
229????????????if?(Rows.Count?>?0)
230????????????{
231????????????????this.index?=?Rows.Count?-?1;
232????????????????return?true;
233????????????}
234????????????return?false;
235????????}
236????????//?-----------------------------------------------------------------------------------------
237????????#endregion
238
239????????public?void?Insert()#region?public?void?Insert()
240????????//?-----------------------------------------------------------------------------------------
241????????/**////?<summary>
242????????///?插入空行,并把空行當作當前行
243????????///?</summary>
244????????public?void?Insert()
245????????{
246????????????Rows.Add(NewRow());
247????????????index?=?Rows.Count?-?1;
248????????}
249????????//?-----------------------------------------------------------------------------------------
250????????#endregion
251
252????????public?void?Delete()#region?public?void?Delete()
253????????//?-----------------------------------------------------------------------------------------
254????????/**////?<summary>
255????????///?刪除當前行
256????????///?</summary>
257????????public?void?Delete()
258????????{
259????????????if?(index?>?-1)
260????????????{
261????????????????Rows[index].Delete();
262????????????????if?(index?==?Rows.Count)
263????????????????{
264????????????????????index?=?Rows.Count?-?1;
265????????????????}
266????????????}
267????????}
268????????//?-----------------------------------------------------------------------------------------
269????????#endregion
270
271????????}
272}
273 結果發現數據在放序列化的時候出錯,發現原來是沒有加入序列化和反序列化構造函數,雖然BaseModal繼承于DataTable,并且加入了[Serializable]樹序列化屬性,但是要實現想繼承序列化,還是要加入構造函數,于是加入:
?1protected?BaseModel(SerializationInfo?info,?StreamingContext?context)?:?base(info,?context)#region?protected?BaseModel(SerializationInfo?info,?StreamingContext?context)?:?base(info,?context)
?2????????//?-----------------------------------------------------------------------------------------
?3????????/**////?<summary>
?4????????///?反序列化構造函數
?5????????///?</summary>
?6????????///?<param?name="si">反序列化所需的全部數據</param>
?7????????///?<param?name="context">目標描述</param>
?8????????protected?BaseModel(SerializationInfo?info,?StreamingContext?context)?:?base(info,?context)
?9????????{
10????????}
11????????//?-----------------------------------------------------------------------------------------
12????????#endregion
13
14????????public?override?void?GetObjectData(SerializationInfo?info,?StreamingContext?context)#region?public?override?void?GetObjectData(SerializationInfo?info,?StreamingContext?context)
15????????//?-----------------------------------------------------------------------------------------
16????????/**////?<summary>
17????????///?序列化函數
18????????///?</summary>
19????????///?<param?name="info">序列化所需的全部數據</param>
20????????///?<param?name="context">目標描述</param>
21????????public?override?void?GetObjectData(SerializationInfo?info,?StreamingContext?context):base.GetObjectData(info,?context)
22????????{
23?????????}
24????????//?-----------------------------------------------------------------------------------------
25????????#endregion
結果編譯,沒有任何錯誤,但是類中的屬性(pageSize等)值卻獲取不到,想了很久,發現其實道理跟前面有些類似,因為自己加入的屬性根本就沒有“告訴”序列化函數去處理,自然而然值就丟失了,于是修改函數如下:
?1protected?BaseModel(SerializationInfo?info,?StreamingContext?context)?:?base(info,?context)#region?protected?BaseModel(SerializationInfo?info,?StreamingContext?context)?:?base(info,?context)
?2????????//?-----------------------------------------------------------------------------------------
?3????????/**////?<summary>
?4????????///?反序列化構造函數
?5????????///?</summary>
?6????????///?<param?name="si">反序列化所需的全部數據</param>
?7????????///?<param?name="context">目標描述</param>
?8????????protected?BaseModel(SerializationInfo?info,?StreamingContext?context)?:?base(info,?context)
?9????????{
10????????????index?=?info.GetInt32("index");
11????????????pageSize?=?info.GetInt32("pageSize");
12????????????currentPage?=?info.GetInt32("currentPage");
13????????????pages?=?info.GetInt32("pages");
14????????????totalRecord?=?info.GetInt64("totalRecord");
15????????????description?=?info.GetString("description");
16????????}
17????????//?-----------------------------------------------------------------------------------------
18????????#endregion
19
20????????public?override?void?GetObjectData(SerializationInfo?info,?StreamingContext?context)#region?public?override?void?GetObjectData(SerializationInfo?info,?StreamingContext?context)
21????????//?-----------------------------------------------------------------------------------------
22????????/**////?<summary>
23????????///?序列化函數
24????????///?</summary>
25????????///?<param?name="info">序列化所需的全部數據</param>
26????????///?<param?name="context">目標描述</param>
27????????public?override?void?GetObjectData(SerializationInfo?info,?StreamingContext?context)
28????????{
29????????????info.AddValue("index",?index);
30????????????info.AddValue("pageSize",?pageSize);
31????????????info.AddValue("currentPage",?currentPage);
32????????????info.AddValue("pages",?pages);
33????????????info.AddValue("totalRecord",?totalRecord);
34????????????info.AddValue("description",?description);
35????????????base.GetObjectData(info,?context);
36????????}
37????????//?-----------------------------------------------------------------------------------------
38????????#endregion
OK,一切搞定了
轉載于:https://www.cnblogs.com/chinhr/archive/2008/04/17/1157959.html
總結
以上是生活随笔為你收集整理的Remoting系列专题---自定义序列化类的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C#之委托的个人理解
- 下一篇: 组装电脑的五大注意点