在.net桌面应用程序中启用或禁用功能的最佳方法是什么

时间:2008-09-17 21:53:03

标签: .net user-controls

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

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

3 个答案:

答案 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;
}