Возможно ли иметь дополнительные DataMembers в WCF? - PullRequest
9 голосов
/ 07 июня 2011

Если у меня есть следующий класс:

[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; }
}

Если в запросе не найдено ошибок, я хочу отправить ответ, у которого нет узла «Ошибки», однако он возвращает узел «Ошибки», который пуст. Я думал, что это то, для чего был IsRequired?

Только что заметил EmitDefaultValue, это то, что я ищу?

1 Ответ

15 голосов
/ 07 июня 2011

Я определил, что EmitDefaultValue должно быть установлено в false, если я не хочу сериализовать значение по умолчанию для DataMember.

 [DataMember(Name = "Errors", Order = 1, IsRequired=false,EmitDefaultValue=false)]
 public List<Error> Errors { get; set; }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...