条件属性

时间:2010-01-08 12:15:28

标签: c# visual-studio-2008 debugging conditional conditional-compilation

一个快速的C#问题,我想知道在我的项目中>属性> Build,有一个检查“定义DEBUG常量”,所以如果我检查然后执行此操作,

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

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

2 个答案:

答案 0 :(得分:5)

我很确定你需要这样做:

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

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

const string DEBUG = "DEBUG";

然后使用

[Conditional(DEBUG)]

这必须伴随#define DEBUG声明。请参阅MSDN上的Conditional C#

答案 1 :(得分:3)

您需要添加双引号才能正常工作:

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