0

它可以在编译时或在运行时使用配置文件。有没有比简单(和许多)if 语句更优雅的方法?

我特别针对特定功能的 UI 控件集。

4

3 回答 3

3

除非您的程序必须挤出 100% 的性能,否则请使用配置文件。它会让你的代码更干净。

如果一个选项改变了代码的许多部分,不要写很多条件,写一个条件来选择你委托给哪个类。例如,如果偏好选择 TCP 与 UDP,则让您有条件地实例化一个 TcpProvider 或 UdpProvider,您的代码的其余部分将使用它们,而无需担心或大惊小怪。

于 2008-09-17T21:55:12.020 回答
2

编译器指令没有那么灵活,但在某些情况下它们是合适的。

例如,默认情况下,当您在 VS.NET 中以 DEBUG 模式编译时,定义了一个“DEBUG”符号......所以你可以这样做

void SomeMethod()
{
    #if DEBUG
    //do something here
    #else
    //do something else
    #endif

}

这将导致仅编译其中一个块,具体取决于是否定义了 DEBUG 符号。

此外,您可以在项目属性 -> 构建 -> 条件编译符号中定义其他符号。

或者,通过命令行编译器使用 /define: 开关

于 2008-09-18T01:20:54.663 回答
0

也许我假设太多了,但是:

switch (setting) {
  case "development": 
     dostuff;
     break
  case "production":
     dootherstuff;
     break;
  default:
     dothebeststuff;
     break;
}
于 2008-09-17T21:55:22.957 回答