.NET 允许您使用 .settings 文件来管理应用程序设置。我想以一种可以执行以下操作的方式分别存储生产、开发和测试设置:
EnvironmentSettings environmentSettings;
// get the current environment (Production, Development or Test)
ApplicationEnvironment Environment = (ApplicationEnvironment)
Enum.Parse(typeof(ApplicationEnvironment), Settings.Default.ApplicationEnvironment);
switch (Environment)
{
case ApplicationEnvironment.Production:
environmentSettings = Settings.Production;
break;
...
}
string reportOutputLocation = environmentSettings.ReportOutputLocation;
基本上,我想要两个单独的设置类:存储所选环境和非环境特定属性的通用设置类,以及名为 EnvironmentSettings 的第二个类的 3 个静态实例。使用的实例应取决于通用设置类中指定的环境。
除了在静态构造函数中手动设置所有这些设置的值之外,还有什么方法可以做到这一点?如果我必须这样做,我宁愿只拥有一个具有“DevOutputLocation”、“LiveOutputLocation”等属性的大型设置类。
我的项目中可以有多个 .settings 文件,但这只会创建不相互派生的单独类。所以我可以制作 DevelopmentSettings.settings、ProductionSettings.settings 和 TestSettings.settings 文件并赋予它们相同的属性,但是我需要到处使用一堆 switch 语句来确定要使用哪个类,因为它们不是从公共类派生的.