不同项目中不同文件的预处理程序指令(常量)

时间:2011-11-15 18:26:03

标签: visual-studio-2010 c#-4.0 constants preprocessor-directive

是否可以在visual studio 2010中为不同项目中的不同文件设置一些预处理器指令常量?这是我正在尝试做的一个例子:

在项目“A”中的文件“1”中我定义:TIMEDISPLAYING

 #define TIMEDISPLAYING
项目“B”中的文件“2”中的

我检查了TIMEDISPLAYING:

 #if TIMEDISPLAYING
        //do something
 #else
        //do something else
 #endif

我知道在项目文件中我可以添加自定义常量。解决方案文件中有哪些地方可以添加类似的内容吗?或者其他一些导入我所有自定义常量的文件?

我目前在一个类中定义了布尔常量,但我希望我的代码基于常量和DEBUG编译对我来说还不够。我的下一个解决方案是在定义DEBUG时添加我的布尔常量:

 #if DEBUG
           protected const bool ISTIMEDISPLAYING = 1 == 1;

           protected const bool ISDATARANDOM = 1 == 0;

           protected const bool IS_AUTO_LOADING_CHAMP_VENDOR = 1 == 1;

           protected const bool IS_TESTING_PO = 1 == 0;
 #endif

我的最后一个解决方案有没有替代解决方案?非常感谢任何帮助。

1 个答案:

答案 0 :(得分:2)

您可以在Visual Studio中的项目属性的“生成”选项卡上设置条件编译符号,而不是在代码中声明它们。不同的构建配置可以分配不同的条件编译符号,您可以根据需要创建任意数量的构建配置。这可能更容易管理,您不必担心要将它们添加到哪个源文件,因为它们存储在项目本身中。

如果您希望根据条件编译符号包含或排除整个方法,您可能还会发现Conditional attribute很有用。