我的代码如下:
var mySetting = ConfigurationManager.AppSettings["mySetting"];
有没有办法创建封装每个设置的属性,所以我不必使用像“mySetting”这样的字符串键?我知道你可以通过创建“自定义配置部分”来做到这一点,但我不想再制作另一部分......我想使用现有的< appSettings>部分。
答案 0 :(得分:3)
另一个选项是创建一个可用于检索应用程序设置的单独界面
public interface IFooSettings
{
int MySettings{get;}
}
public class ApplicationSettings : IFooSettings
{
public string MySettings{get; private set;}
ApplicationSettings()
{
MySettings = ConfigurationManager.AppSettings["mySetting"];
}
}
如果由于某种原因你想开始在数据库中保存配置,那么你需要做的唯一事情是从IFooSettings派生一个类来使用数据库
public class SqlApplicationSettings : IFooSettings
{
SqlApplicationSettings()
{
//Do Something to populate the settings
}
public string MySettings{get; private set;}
}
虽然这对你的应用程序来说可能有点过分,但它会提供很多灵活性,因为你不会被绑定到ConfigurationManager或其他来源。
答案 1 :(得分:2)
是 - 使用Visual Studio提供的“设置”类 - 使用“添加新项”然后选择“设置”。
这为您提供了一个具有强类型属性(字符串,整数等)和所有类的类。
这将在自定义配置部分的app.config中添加所需的条目 - 但它实际上已经全部为您提供了,所以为什么要重新发明轮子?
马克
答案 2 :(得分:0)
http://www.codeproject.com/KB/cs/genuilder.aspx将允许您在ASP.NET项目中执行此操作