ТехноСаратов → Блог

.NET — Хранение настроек программы в XMLБлогПрограммирование

Новый проект от создателей этого поратала

Во время исполнения программы часто используемые переменные, логично хранить в виде статическ… их компонент доступного всем класса. Единственный вопрос, встающий при использовании такого подхода — как можно все это сохранить в XML.

Применение сериализации в данном контексте не совсем тривиально, по тому, я решил поделиться этим «изобретением». Изобретение, по тому, что в сети на этот счет я ничего полезного не нашел. А то, что все же несколько похоже и применимо, для сохранения статических компонент класса, подразумевает использование DataSet, что способствует повышению фактора быдлокодинга в ваших программах.

И так, у нас есть класс:

Доступ к его полям в программе выглядит примерно так:

Удобнее наверное и не придумаешь.

Чтобы класс был сереализуемым нужно добавить конструктор по умолчанию, и открытые не статические свойства, для каждого статического поля:

Теперь, собственно пришло время написать функции Load и Save, которые у нас будут также статическими:

Изюминка этого кода в том, что мы в статической функции создаем временный объект нашего класса, который сериализуется/десериализуется сохраняя через нестатические свойства все статические поля. Таким образом наша цель, сохранение статических полей класса в XML, достигнута!