Идентификатор WCF — Как указать, что TValue может быть нулевым?

#wcf #dictionary #null #isrequired

#wcf #словарь #null #требуется

Вопрос:

В принципе, я хочу передать обратно следующее в моей службе WCF:

 [DataMember(IsRequired = true)]
IDictionary<int, MyObj> objects { get; set; }
  

Как я могу сделать так, чтобы myObj мог быть нулевым, чтобы, когда я получаю его на другом конце, он не создавал экземпляр пустого элемента, а вместо этого оставлял его нулевым?

Ответ №1:

Это может быть null, вам не нужно делать ничего особенного. Значение IsRequired= true применяется к самому словарю, а не к конкретным экземплярам словаря.

Кроме того, вам не следует использовать идентификатор (если вы не хотите иметь дело с [KnownType]-ами), словарь должен работать нормально.