gpt4 book ai didi

c# - C# 应用程序中的自定义用户配置

转载 作者:太空宇宙 更新时间:2023-11-03 12:39:45 25 4
gpt4 key购买 nike

假设我有一个命令行应用程序需要引用某种形式的用户配置文件。此外,该文件中包含的值只能由用户手动更新——没有任何方法可以在应用程序中更新配置文件,应用程序也不会在启动后寻找任何输入。如果配置文件中缺少配置列表,则应使用默认值。

我知道 Visual Studio/.NET Framework 提供了用于创建此类构造的工具(即设置和 App.configs),但我不确定我是否正确使用了它们——或者我是否应该使用它们.

我创建了一个设置文件并加入了一些默认设置(例如 SomeBooleanFlag 是一个默认值为“False”的 bool 值)。这个添加当然反射(reflect)在我的 App.config 中。然而,困境就在这里:我应该如何读取 App.config?

目前,我创建了一个类来抽象出配置管理器/设置的东西:

class AppSettings
{
public static bool SomeBooleanFlag
{
get
{
try
{
string rawValue = ConfigurationManager.AppSettings["SomeBooleanFlag"];

bool userSetSomeBooleanFlag;
bool userValueParsed = bool.TryParse(rawValue, out userSetSomeBooleanFlag);

return (userValueParsed) ? userSetSomeBooleanFlag : Settings.Default.SomeBooleanFlag;
}
catch
{
return Settings.Default.SomeBooleanFlag;
}
}
}
}

这让我有能力写:

if (AppSettings.SomeBooleanFlag) 
{
/* Do Something... */
}

但是,这似乎不是解决我上面提到的问题的干净方法。任何帮助将不胜感激!

最佳答案

无需编写自己的应用程序设置包装器,您可以重用 Visual Studio 中内置的功能来为您生成此包装器。参见 How to: Add or Remove Application SettingsHow To: Read Settings at Run Time With C# .除了指定设置的类型之外,您还可以指定范围(用户或应用程序)。

按照上述文章中的步骤,它会将设置添加到您的 App.config 文件中,示例如下:

<configuration>
...
<applicationSettings>
<ConsoleApplication1.Properties.Settings>
<setting name="TestKey" serializeAs="String">
<value>TestValue</value>
</setting>
</ConsoleApplication1.Properties.Settings>
</applicationSettings>
...
</configuration>

您可以按如下方式访问这些设置:

string s = Properties.Settings.Default.TestKey;

关于c# - C# 应用程序中的自定义用户配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39475736/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com