[英]Using App.config to set strongly-typed variables
我是运行.NET 3.5的C#新手,我想在App.config中存储一堆应用程序默认值,因为设置可能会因服务器环境(例如,开发,登台,生产)而异。 我想做的事情与此StackOverflow文章中描述的类似,但是我也希望能够使用非字符串值(例如int,bool)。 这样的事情(名称-值只是示例,顺便说一句):
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<applicationSettings>
<MyApp>
<setting name="InitText" serializeAs="String">
<value>Hello</value>
</setting>
<setting name="StartAt" serializeAs="Integer">
<value>5</value>
</setting>
<setting name="IsWeekend" serializeAs="Boolean">
<value>True</value>
</setting>
</MyApp>
</applicationSettings>
</configuration>
有人可以提供一个示例,说明如何执行此操作,以及如何通过C#检索值吗? 我已经看到了很多需要使用和的示例,但是我不确定是否需要这些元素,以及是否需要创建这些元素。
使用.NET Framework的“ 应用程序设置”体系结构怎么样。 您可以强类型访问默认值。
在Windows应用程序项目上,“设置”文件是在“资源”文件夹中自动创建的。 然后,您可以添加问题中显示的App.config文件中保留的应用程序设置。
例如:
int i = Settings.Default.IntSetting;
bool b = Settings.Default.BoolSetting;
编辑:如果您的项目不包含设置文件,则可以随时添加一个新项,然后选择一个设置文件来添加一个。 (右键单击项目文件,然后执行:添加->新项目->设置文件)。 在我的情况下,我将其命名为“设置”,但您可以随意命名。
添加文件后,Visual Studio将打开设置设计器,您可以在其中添加强类型设置。 根据您所说的,您应该在“应用程序”范围而不是用户处设置设置。 然后构建项目,您应该可以使用文件名访问类。
Boolean isWeekend = Convert.ToBoolean(ConfigurationManager.AppSettings["IsWeekend"])
听起来您想拥有一个自定义的<configSection>
。 基本上,它是这样的:
-创建一个具有适当默认值等的配置类,并设置一个不错的继承结构,以便它将根据您的web.config设置自动加载。 -将config部分添加到web.config中,指定将加载设置的“类型”,以便.NET框架知道要初始化的内容
您可以在MSDN库上找到有关它的各种信息。 示例是asp.net,但它们也可以与应用程序配置一起很好地工作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.