C#编译器指令

时间:2010-05-27 10:21:38

标签: c# compiler-directives

我正在查看一些C#代码,并且遇到了以下声明:

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

我认为DEBUG将在某处定义如下:

#define DEBUG

但是我无法找到这样的定义,尽管代码似乎表现得像设置的那样。 DEBUG是一个特例,如果是这样,它是如何设置/取消设置的?

4 个答案:

答案 0 :(得分:5)

在项目中,转到Properties -> Build。一般情况下,您可以选择DEBUGTRACE

答案 1 :(得分:4)

使用#define指令或compiler settings进行设置。在调试版本中定义DEBUG是很常见的,因此您可以有条件地编译一些代码,如示例所示。

您可以在MSDN上了解更多相关信息。

答案 2 :(得分:4)

如果你查看项目属性,你会发现一个调试选项DEBUG 然后你可以用C#:

[Conditional("Debug")]
public void DebugThis()
{
}

答案 3 :(得分:1)

您还可以在项目“属性”的“构建”选项卡下定义DEBUG和TRACE条件编译常量。对于此实例,可能会检查项目的定义DEBUG常量复选框。

更多详情@ MSDN