Значение Nullable с xsd.exe генерировало класс

Я однажды (многие, много лет назад) записал программу вывода для проекта, который создал электронные таблицы Excel с помощью структуры Excel Oper. Это было формантой двоичного файла, которая потребовала большого объема битового жонглирования. Следующая ссылка дает аромат структуры Oper Книги .

Safari

14
задан Abel 16 September 2015 в 15:41
поделиться

2 ответа

I ' Я только что заметил, что он фактически включает следующий код:

private bool balanceFieldSpecified;

[System.Xml.Serialization.XmlIgnoreAttribute()]
public bool BalanceSpecified {
    get {
        return this.balanceFieldSpecified;
    }
    set {
        this.balanceFieldSpecified = value;
    }
}

Который обеспечивает нужную мне функциональность.

Я оставлю вопрос открытым на время на случай, если есть элегантный способ использовать допускающие значения NULL? введите вместо этого.

2
ответ дан 1 December 2019 в 14:11
поделиться

Я считаю, что если вы добавите nillable = "true" в определение схемы XML, XSD создаст для этого элемента тип, допускающий значение NULL. В любом случае это, вероятно, хорошая идея, поскольку вы подразумеваете, что это значение действительно может быть нулевым, и это сделает ваше определение схемы более явным в этом отношении.

К сожалению, в этом случае оно все еще включает соответствующее поле «Указано». Если вы хотите, чтобы сериализатор напрямую подчинялся значениям, допускающим значение NULL, вам необходимо вручную удалить столбец «xxSpecified» из сгенерированного кода.

5
ответ дан 1 December 2019 в 14:11
поделиться
Другие вопросы по тегам:

Похожие вопросы: