Несколько пользовательских настроек в директиве #if

Мне нужна следующая логика

#if (DEV || QA || RELEASE)
//add when dev or qa or release configuration
#endif

Это возможно в C#?

3 ответа

Решение

Да. Цитируя #if документация по MSDN:

Вы можете использовать операторы && (а также), || (или) и ! (не), чтобы оценить, были ли определены несколько символов. Вы также можете группировать символы и операторы в скобках.

#define DEBUG 
#define MYTEST
using System;
public class MyClass 
{
    static void Main() 
    {
#if (DEBUG && !MYTEST)
        Console.WriteLine("DEBUG is defined");
#elif (!DEBUG && MYTEST)
        Console.WriteLine("MYTEST is defined");
#elif (DEBUG && MYTEST)
        Console.WriteLine("DEBUG and MYTEST are defined");
#else
        Console.WriteLine("DEBUG and MYTEST are not defined");
#endif
    }
}

Вот простой код, как это сделать. Вы можете прочитать полную документацию по директивам препроцессора C#

Другие вопросы по тегам