.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;
Run Code Online (Sandbox Code Playgroud)
基本上,我想要两个单独的Settings类:存储所选环境和非环境特定属性的常规Settings类,以及名为EnvironmentSettings的第二个类的3个静态实例.使用的实例应取决于常规Settings类中指定的环境.
有没有办法在静态构造函数或其他东西中手动设置所有这些设置的值?如果我必须这样做,我宁愿只有一个大的Settings类,其中包含"DevOutputLocation","LiveOutputLocation"等属性.
我可以在我的项目中有多个.settings文件,但这只是创建了不相互派生的单独类.所以我可以创建DevelopmentSettings.settings,ProductionSettings.settings和TestSettings.settings文件并给它们相同的属性,但是我需要在任何地方使用一堆switch语句来确定要使用哪个类,因为它们不是从公共类派生的.