Я пытаюсь использовать директивы предварительного компилятора для переключения определенных функций в моем приложении. Я использую директивы предварительного компилятора, а не переменные const static
, потому что эти функции не будут реализованы в релизной версии приложения.
Верно ли, что С# не поддерживает все команды прекомпилятора C, т. е. #if X > Y
и т. д.? Мой приведенный ниже код выдает ошибки компилятора. Можно ли использовать директивы прекомпилятора для переключения функций в моем приложении?
Мое решение - это очень "С++/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
}
}