它可以在编译时或在运行时使用配置文件。有没有比简单(和许多)if语句更优雅的方式?
我特定针对特定功能的UI控件集。
答案 0 :(得分:3)
除非您的程序必须挤出100%的性能,否则请使用配置文件。它会让你的代码更清洁。
如果一个选项更改了许多代码部分,请不要编写多个条件,编写一个条件来选择您委派的类。例如,如果首选项选择TCP与UDP,请让您的条件实例化一个TcpProvider或UdpProvider,其余代码使用最少的麻烦或大惊小怪。
答案 1 :(得分:2)
编译器指令不够灵活,但在某些情况下它们是合适的。
例如,默认情况下,在VS.NET中以DEBUG模式编译时,会定义一个'DEBUG'符号......所以你可以这样做
void SomeMethod()
{
#if DEBUG
//do something here
#else
//do something else
#endif
}
这将导致只编译其中一个块,具体取决于是否定义了DEBUG符号。
此外,您可以在项目属性中定义其他符号 - >构建 - >条件编译符号。
或者,通过命令行编译器使用/ define:switch
答案 2 :(得分:0)
也许我假设太多,但是:
switch (setting) {
case "development":
dostuff;
break
case "production":
dootherstuff;
break;
default:
dothebeststuff;
break;
}