数据契约:定制、使用与设计全解析
1. 定制数据契约序列化
当LinkItem类型成为有效的数据契约后,我们可能需要对其进行一些定制,以满足特定的需求。具体来说,我们可能希望提供与服务契约一致的命名空间,为每个数据成员提供更正式的名称,并控制成员在架构中出现的顺序(默认是按字母顺序排列)。
以下是定制数据契约的具体步骤:
1. 修改LinkItem类型定义,为DataContractAttribute提供Namespace值,同时为DataMemberAttribute的Name、IsRequired和Order属性提供值。示例代码如下:
[DataContract(Namespace="http://schemas.thatindigogirl.com/samples/2006/06")] public class LinkItem { [DataMember(Name = "Id", IsRequired = false, Order = 0)] private long m_id; [DataMember(Name = "Title", IsRequired = true, Order = 1)] private string m_title; [DataMember(Name = "Description", Is