我在我的应用程序的app.config文件中有一些键,用来存储电子邮件设置。我目前正在为工作开发的应用程序有几个地方需要发送电子邮件(大多数是在错误检查中,以便让我们知道发生了什么不好的事情)。为了更轻松地获取我需要的设置(而不是返回到app.config中查找要在ConfigurationManager.AppSettings["SomeKey"].ToString()
中使用的文本字符串),我创建了一个简单的静态类,用于存储一些只读属性以返回我需要的值。这是基本结构。
internal static Class myClass
{
internal static string setting1
{
get { return ConfigurationManager.AppSettings["SomeKey"].ToString(); }
}
internal static string setting2
{
get { return ConfigurationManager.AppSettings["SomeOtherKey"].ToString(); }
}
}
这种做法可行吗?我没有发现问题,但总觉得可能会漏掉什么。
附加信息:
我知道可以简单地使用Settings.Settings文件的方法。 由于我工作的代码政策,我无法使用Settings.Settings文件,这使得我现在的做法变得必要。
编辑: 所谓“可接受”,是指它是否普遍被采用或被认为是一个好主意?我意识到社区无法推测我的工作中的可接受性。
ConfigurationManager.AppSettings
,以便在需要时可以模拟配置依赖是“可接受”的做法。但对你来说可能有些过度了。这完全取决于你的需求。然而,就我个人而言,我尽量避免使用静态类,以提高单元测试的可测试性。 - David L