У меня есть класс, который я использую для сериализации различных параметров конфигурации для приложения, над которым я работаю. Я добавляю новое свойство в класс, который является списком, и я бы хотел, чтобы он заполнил этот список, если он еще не существует в файле XML. Моей первой мыслью было проверить, содержит ли список ноль элементов, однако это неприемлемо, потому что бывают моменты, когда я хочу, чтобы в списке было ноль. По сути, я хочу, чтобы файл, который был сериализован с более старой версией того же класса, был «обновлен» и в него автоматически вставлялись значения по умолчанию для новых свойств. Как я могу это сделать? Более наглядный пример того, что я пытаюсь сделать, см. Ниже:
Когда я десериализирую XML-файл, который содержит:
<Item1>wtfe</Item1>
<Item2>wtfe</Item2>
и после того, как я добавлю свойство списка, оно будет сериализовано как:
<Item1>wtfe</Item1>
<Item2>wtfe</Item2>
<Item3/>
Я хочу, чтобы он сериализовался как:
<Item1>wtfe</Item1>
<Item2>wtfe</Item2>
<Item3>
<DefaultSubItem/ Field="wtfe">
<DefaultSubItem/ Field="wtfe">
</Item3>
Но позвольте мне изменить его на:
<Item1>wtfe</Item1>
<Item2>wtfe</Item2>
<Item3></Item3>