[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/ ,如需转载,请注明出处,否则将追究法律责任。