如何将设置存储在Windows窗体应用程序的外部文件中?

时间:2012-03-20 20:37:23

标签: winforms file configuration settings

我有一些设置,我想存储在某种外部文件中,以便有人可以更改设置而无需重新编译应用程序:

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框架中内置的任何内容,并且易于为新开发人员实现和理解。

1 个答案:

答案 0 :(得分:0)

您可以使用自定义设置创建课程

e.g。

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