XML-сериализация и пустые коллекцииC#

Место общения программистов C#
Ответить
Гость
 XML-сериализация и пустые коллекции

Сообщение Гость »

У меня есть свойство, определенное как:

Код: Выделить всё

[XmlArray("delete", IsNullable = true)]
[XmlArrayItem("contact", typeof(ContactEvent)),
XmlArrayItem("sms", typeof(SmsEvent))]
public List Delete { get; set; }
Если в спискеУдалить нет элементов
испускается. Если List Удалить имеет значение null
испускается. Есть ли способ использовать атрибуты, чтобы элемент удаления не создавался, если в коллекции нет элементов?

Грег – Отлично, спасибо, я даже не читал IsNullable документация просто предполагала, что она сигнализирует о том, что это не требуется.

Роб Купер - Я пытался избежать ISerializable, но предложение Грега сработало. Я столкнулся с проблемой, которую вы описали в (1): я сломал кучу кода, просто вернув ноль, если коллекция имела нулевую длину. Чтобы обойти эту проблему, я создал класс EventsBuilder (класс, который я сериализую, называется Events), который управляет всем временем существования/созданием базовых объектов класса Events, который выделяет наши классы Events для сериализации.

Подробнее здесь: https://stackoverflow.com/questions/692 ... ollections
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»