Необходимые атрибуты в сериализации XML

Например, у меня есть класс для сериализации

[Serializable]
class Person
{
    [XmlAttribute("name")]
    string Name {get;set;}
}

Я должен сделать атрибут Имени требуемым. Как сделать это в.NET?

9
задан John Saunders 23 May 2010 в 15:24
поделиться

2 ответа

Во-первых, [Serializable] не используется XML Serializer.

Во-вторых, нет способа сделать его обязательным.

4
ответ дан 3 November 2019 в 00:59
поделиться

Я считаю, что вы путаете XML с XSD. Если вы хотите, чтобы ваше свойство всегда имело значение, инициализируйте это свойство в конструкторе и генерируйте исключение, если кто-то попытается установить его как пустое или нулевое.

class Person
{

  private string _Name = "Not Initialized";
  [XmlAttribute("name")]
  string Name {
    get { return _Name;}
    set {
        if(value == null || value==string.Empty) throw new ArgumentException(...);

        _Name = value;
    }
   }
}
-2
ответ дан 3 November 2019 в 00:59
поделиться
Другие вопросы по тегам:

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