ITPub博客

首页 > Linux操作系统 > Linux操作系统 > DataContract 数据契约,序列化

DataContract 数据契约,序列化

原创 Linux操作系统 作者:fangqm 时间:2010-06-07 20:05:58 0 删除 编辑
DataContract:修饰可被序列化的数据类型。
为什么要序列化? 中国地区很多,方言都不一样,为了方便大家沟通,请说普通话,序列化也就这个意思,在进行WCF编程的时候,服务端程序难免会与客户端程序之间发生数据交换,由于服务端与客户端可能是两种异质运行环境,这就需要实现服务端的数据类型与客户端代理类数据类型的统一。
 
DataMember:修饰可被序列化的成员,可以修饰成员变量也可以修饰属性。
 

[DataContract]
struct Contact
{
   [DataMember]
   public string FirstName;

   [DataMember]
   public string LastName;
}
或者
[DataContract]
struct Contact
{
   string m_FirstName;
   string m_LastName;

   [DataMember]
   public string FirstName
   {
      get
      {...}
      set
      {...}
    }

   [DataMember]
   public string LastName
   {
      get
      {...}
      set
      {...}
    }
}

与服务契约一样,使用DataContract和DataMember声明的数据契约也与访问修饰符(public,private,protected...)无关。

凡是被DataMember声明修饰的属性,必须要有get和set访问器,如果没有这两个访问器在调用的时候会产生InvalidDataContractException异常信息,因为在序列化的过程中需要通过get和set访问器来操作对象的数据。
http://hi.baidu.com/grayworm/blog/item/b38308a759aaa59fd043582f.html

 

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/23109131/viewspace-664630/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
创业项目 https://u.rscode.cn

注册时间:2010-03-24

  • 博文量
    297
  • 访问量
    784632