c#应用程序和配置设置

时间:2010-06-11 00:13:43

标签: c# settings

我之前从未使用过Settings类,但我在CodeProject上发现了一些我正在阅读的文章(例如http://www.codeproject.com/KB/cs/PropertiesSettings.aspx),但到目前为止我还没有看到如何保存string下次启动应用程序后获取它的数组。

例如,我的应用程序有几个FileSystemWatcher实例,每个实例连接了几个其他目录(例如,一个FSW实例正在监视一个目录以进行更改,当它发生时,它将一些文件复制到其他几个目录) ,所以我会有一个string数组,其中包含代表FSW实例的监视路径,以及每个路径的string数组,表示受影响的目录。

我的问题是,我应该使用什么(Settings类或其他东西),以及如何使用它来存储可变数量的string数组的应用程序配置?强调是我可以很快使用的东西,因为我没有太多时间来制作自定义课程(但如果我找不到解决方案则必须这样做)或深入研究一些模糊不清的黑客。 任何教程链接,代码片段都会非常有用。

感谢。

1 个答案:

答案 0 :(得分:1)

为什么不使用配置文件呢?我有一组像你的FileSystemWatchers,只是使用custom config sections添加了一组路径。认为这需要你滚动一个类来扩展配置类,但我认为你无法击败这种方法。

虽然如果你想要一个明确的简单黑客,并且不想被自定义配置部分/元素/集合打扰。只需使用快速简便的AppSettings hack。 XD

<appSettings>
    <add key="ConnectionInfo0" value="server=(local);database=Northwind;Integrated Security=SSPI" />
    <add key="ConnectionInfo1" value="server=(local);database=Northwind;Integrated Security=SSPI" />
    <add key="ConnectionInfo2" value="server=(local);database=Northwind;Integrated Security=SSPI" />
</appSettings>

从代码中获取。

const string CONNECTIONSTRING="";
int i = 0;
while(ConfigurationSettings.AppSettings["ConnectionInfo"] + i != null)
{
    // do stuff with connection info here
    // use
    ConfigurationSettings.AppSettings["ConnectionInfo" + i];
    // to get data.
    ++i;
}

有点难看,我知道。自定义配置效果最佳。