您的位置:首页 > 其它

Remoting系列专题---自定义序列化类

2006-08-29 15:10 239 查看
最近项目开发中的传输数据是围绕Remoting而召开的,所以想把所有的数据实体都定义统一的格式,于是就写了一个基于DataTable的基类BaseModal,其他数据实体全部继承于它。此BaseModal基类还包括了一些其他的自有的属性,例如pageSize每页记录数、currentPage当前页码等等,代码如下:

2
14
22using System;
23using System.Data;
24using System.Text;
25using System.Runtime.Serialization;
26
27namespace Colorful.Model
28
结果发现数据在放序列化的时候出错,发现原来是没有加入序列化和反序列化构造函数,虽然BaseModal继承于DataTable,并且加入了[Serializable]树序列化属性,但是要实现想继承序列化,还是要加入构造函数,于是加入:

1
14
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 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,一切搞定了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: