我正在尝试使用预编译器指令来切换我的应用程序中的某些功能。我使用的是预编译器指令而不是const static
变量,因为这些功能不会出现在应用程序的发布版本中。
C# 是否确实不允许所有 C 预编译器命令,即#if X > Y
& 等?我下面的代码抛出编译器错误。是否可以使用预编译器指令来切换我的应用程序中的功能?
我的解决方案是实现此功能的一种非常“C++/C”的方式。实现此功能的 C# 方法是什么?
#define DEBUG 1 // Not allowed to assign values to constants?
#define USE_ALTERNATE_METHOD 0
public class MyApplication
{
public MyApplication()
{
#if DBEUG > 0 // Not allowed these kinds of directives?
RegressionTests.Run();
#endif // DEBUG > 0
}
public void myMethod
{
#if USE_ALTERNATE_METHOD > 0
// Do alternate stuff
#else
// Do regular stuff
#endif // USE_ALTERNATE_METHOD > 0
}
}