Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在WCF中可以有可选的DataMembers吗?_Wcf - Fatal编程技术网

在WCF中可以有可选的DataMembers吗?

在WCF中可以有可选的DataMembers吗?,wcf,Wcf,如果我有以下课程: [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<Err

如果我有以下课程:

[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; }
}
[DataContract]
公共类GetColorsRS
{
[DataMember(Name=“Colors”,Order=0,IsRequired=true)]
公共列表颜色{get;set;}
[DataMember(Name=“Errors”,Order=1,IsRequired=false)]
公共列表错误{get;set;}
}
如果在请求中没有发现错误,我想发回一个没有错误节点的响应,但是,它会传回一个为空的错误节点。我以为这就是我要的东西


刚刚注意到EmitDefaultValue,这就是我要找的吗?

如果我不想序列化DataMember的默认值,我已经确定
EmitDefaultValue
应该设置为false

 [DataMember(Name = "Errors", Order = 1, IsRequired=false,EmitDefaultValue=false)]
 public List<Error> Errors { get; set; }
[DataMember(Name=“Errors”,Order=1,IsRequired=false,EmitDefaultValue=false]
公共列表错误{get;set;}

为什么不只列出一个空的错误列表??基本上达到了同样的效果(没有任何乱七八糟的黑客或诡计)?@marc_,我也能做到。但是设置EmitDefaultValue=false并不是一个简单的技巧。请小心: