如何在C#中全局定义常量(如DEBUG)

时间:2009-01-12 18:07:30

标签: c# .net

我想根据#define定义的常量以不同方式编译项目,如下所示:

#define USE_COMPONENT_X

#if USE_COMPONENT_X
...

#endif

我可以在C#中做到这一点。但是,当我转到同一项目中的另一个文件时,未定义此常量。我能以某种方式为所有项目定义一个常量,就像定义了DEBUG一样吗?

4 个答案:

答案 0 :(得分:29)

您可以添加/ define编译器开关。

  1. 打开项目的“属性页”对话框。
  2. 单击“配置属性”文件夹。
  3. 单击“构建属性”页面。
  4. 修改条件编译常量属性。

答案 1 :(得分:6)

您可能希望更进一步,创建不同的项目配置,作为标准Debug和Release项目配置的变体。构建菜单下的配置管理器将允许您完成此操作。然后,当您在项目属性的“构建”选项卡中时,可以选择各种配置并设置适合每个配置的条件编译常量。当您想要在有条件编译的代码的各种排列之间来回切换时,这将为您节省大量时间。

答案 2 :(得分:1)

希望我不偏离主题,而不是“常量”或许为常量类型定义接口,然后使用众多依赖注入框架之一来管理“常量”的定义,注入和生命周期

答案 3 :(得分:0)

在IDE中设置它或使用编译器命令行开关,即Mono的-define