DataMemberAttribute
使用DataMemberAttribute标记的类型成员才能成为数据契约的数据成员。这个和服务契约中的OperationContractAttribute类似。DataMemberAttribute特性有如下四个属性:
EmitDefaultValue:表明在数据成员的值等于默认值的情况下,是否还须要将其序列化到最终的XML中,默认值为true,表示默认值会参与序列化。
IsRequired:bool类型,表明属性成员是否是必须的成员,默认值为false。
Name:数据成员的别名。
Order:相应的数据成员在最终序列化的XML中出现的位置,默认是按字母顺序排列的。
[DataContract(IsReference=true,Name="MyUser",Namespace="http://oec2003.cnblogs.com")]
public class User
{
[DataMember(EmitDefaultValue=true,IsRequired=true,
Name="Oec2003_Age",Order=1)]
public int Age { get; set; }
[DataMember(EmitDefaultValue = true, IsRequired = true,
Name = "Oec2003_Name", Order = 2)]
public string Name { get; set; }
[DataMember(EmitDefaultValue = true, IsRequired = false,
Name = "Oec2003_Email", Order = 3)]
public string Email { get; set; }