3

一个快速的C#的问题,我想知道,在我的项目>属性>生成,有一个检查“定义DEBUG常数”,所以如果我检查,然后做这个,条件属性

[Conditional(DEBUG)] 
public static void Foo() { 
     Console.WriteLine("Executed Foo"); 
} 

看不到“DEBUG”它的DEBUG不变。这样会好吗?或者是否必须在项目设置中的条件编译符号中添加“DEBUG”?或者#define呢?

+1

你尝试了吗?如果是这样,发生了什么? – erikkallen 2010-01-08 12:18:44

+0

你没试过吗? – 2010-01-08 12:19:38

回答

5

我敢肯定,你需要做的:

[Conditional("Debug")] or [Conditional("DEBUG")] 

或者你可以定义自己的常量,例如:

const string DEBUG = "DEBUG"; 

然后使用

[Conditional(DEBUG)] 

这将有并附有#define DEBUG声明。请参阅MSDN上的Conditional C#

3

您需要添加双引号这个工作:

[Conditional("DEBUG")] // <- Works the DEBUG define 
public static void Foo() { 
    Console.WriteLine("Executed Foo"); 
}