WCF中是否可以有可选的DataMembers?

问题描述

| 如果我有以下课程:
[DataContract]
public class GetColorsRS
{
    [DataMember(Name = \"Colors\",Order = 0,Isrequired=true)]
    public List<Color> Colors { get; set; }

    [DataMember(Name = \"Errors\",Order = 1,Isrequired=false)]
    public List<Error> Errors { get; set; }
}
如果在请求中没有发现错误,我想发回一个没有Errors节点的响应,但是,它传递回一个为空的Errors节点。我以为这是Isrequired的目的? 刚刚注意到EmitDefaultValue,这是我要寻找的吗?     

解决方法

        我确定如果我不想序列化DataMember的默认值,应将ѭ1设置为false。
 [DataMember(Name = \"Errors\",Order = 1,IsRequired=false,EmitDefaultValue=false)]
 public List<Error> Errors { get; set; }