Как сохранить настройки во внешнем файле для приложения Windows Forms? - PullRequest
0 голосов
/ 21 марта 2012

У меня есть некоторые настройки, которые я хотел бы сохранить во внешнем файле, чтобы кто-то мог изменить настройки без перекомпиляции приложения:

Server: test
Username: abc
Password: 123

Server: dev
Username: abc
Password: def

Server: live
Username: g5g5g5
Password :a4a4a4

Я знаю, что могу поставитьих в app.config под <appSettings>, но проблема в том, что данные должны быть «сгруппированы» вместе, а <appSettings> поддерживает только простые пары ключ / значение.

Я мог бы поместить их ввнешний файл, такой как JSON, но для этого потребуется либо написать JSON-анализатор, либо загрузить его, что не очень желательно для варианта использования этого приложения.

Какие существуют другие методы для хранения этой информации?Предпочтительно использовать то, что уже встроено в .NET Framework, и его легко реализовать и понять для новых разработчиков.

1 Ответ

0 голосов
/ 21 марта 2012

Вы можете создать класс с вашими пользовательскими настройками

, например

public class MySetting
{
    public string Server { get; set; }
    public string Username { get; set; }
    public string Password { get; set; }
}

public class MySettings
{
    public List<MySetting> Settings { get; set; }
}

и сохраните / загрузите их в файл, используя BinarySerializer, XmlSerializer, DataContractSerializer или другой сериализатор по вашему выбору.

Поскольку вы хотите редактировать с помощью текстового редактора, DataContractSerialzier будет хорошим выбором.

Вот пример из MSDN, показывающий, как сериализовать в файл

http://msdn.microsoft.com/en-us/library/bb675198.aspx

...