[英]encapsulate AppSettings in a class?
我有这样的代码:
var mySetting = ConfigurationManager.AppSettings["mySetting"];
有没有一种方法可以创建封装每个设置的属性,因此我不必使用“ mySetting”之类的字符串键? 我知道您可以通过创建“自定义配置部分”来做到这一点,但是我不想创建其他部分...我想使用现有的<appSettings>部分。
另一个选择是创建一个单独的界面,您可以使用该界面来检索应用程序设置
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;}
}
当然,这对于您的应用程序来说可能有些矫kill过正,但是它可以提供很大的灵活性,因为您不会被绑定到ConfigurationManager或其他来源。
是的-使用Visual Studio提供的“设置”类-使用“添加新项”,然后选择“设置”。
这为您提供了具有强类型属性(字符串,int等)的类。
这将在自定义配置部分的app.config中添加所需的条目-但实际上已经为您提供了所有条目,那么为什么要重新发明轮子呢?
渣
签出配置部分设计器 ,它将使您能够在Visual Studio中以图形方式进行此操作。
http://www.codeproject.com/KB/cs/genuilder.aspx将允许您在ASP.NET项目中执行此操作
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.