Директивы компилятора C#

Я смотрю на некоторый код C# и столкнулся со следующим утверждением:

#if DEBUG
    // Do something here
#else
    // Do something else
#endif

Я предположил, что ОТЛАДКА будет определенным где-нибудь следующим образом:

#define DEBUG

Но я не могу найти такое определение, хотя код, кажется, ведет себя, как будто это было установлено. ДЕЙСТВИТЕЛЬНО ЛИ ОТЛАДКА является особым случаем, и если так, как она установлена / сброс?

8
задан Paul Michaels 27 May 2010 в 10:21
поделиться

4 ответа

В проекте перейдите в Properties -> Build. В разделе general у вас есть возможность определить DEBUG и TRACE.

5
ответ дан 5 December 2019 в 12:08
поделиться

Устанавливается с помощью директивы #define или в настройках компилятора . Обычно DEBUG определяется в отладочных выпусках, поэтому вы можете условно скомпилировать некоторый код, как в вашем примере.

Подробнее об этом можно прочитать на MSDN .

4
ответ дан 5 December 2019 в 12:08
поделиться

Если вы посмотрите в свойствах проекта, вы найдете параметр отладки DEBUG Затем вы можете сделать это на C #:

[Conditional("Debug")]
public void DebugThis()
{
}
4
ответ дан 5 December 2019 в 12:08
поделиться

Вы также можете определить константы условной компиляции DEBUG и TRACE на вкладке Build свойств проекта. В этом случае для вашего проекта, вероятно, установлен флажок Определить константу DEBUG .

Подробнее на MSDN .

1
ответ дан 5 December 2019 в 12:08
поделиться
Другие вопросы по тегам:

Похожие вопросы: