Объявите [XmlElement (IsNullable = true)] на уровне класса - PullRequest
2 голосов
/ 08 февраля 2012

Есть ли способ объявить [XmlElement (IsNullable = true)] на уровне класса, чтобы все свойства в классе были сериализованы в XML, даже если они нулевые?

, например

public BankAccount BankAccount { get; set; }

Должно привести к <BankAccount xsi:nil="true" />, а не к отсутствующему элементу по умолчанию.

Я пробовал это, но компилятор (правильно) заявляет, что атрибут недопустим для объявлений классов.

Причина этого в том, что я не хочу указывать это для всех свойств.


Редактировать: Это метод сериализации, который я использую:

        var serializer = new XmlSerializer(FormType);
        var stream = new MemoryStream();

        serializer.Serialize(stream, form);

Ответы [ 2 ]

2 голосов
/ 08 февраля 2012

К сожалению, вы должны быть явными при аннотировании вашего класса для сериализации XML. Каждое свойство должно быть аннотировано собственным атрибутом XmlElement, если вы не хотите использовать поведение по умолчанию.

0 голосов
/ 05 сентября 2014
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...