如何使用其他文件中的 #define

本文关键字:#define 文件 何使用 其他 | 更新日期: 2023-09-27 18:36:26

例如:

定义.cs

#define FOO

表单1.cs

#if FOO 
  MessageBox.Show("foo is set!");
#else 
  MessageBox.Show("foo is not set!");
#endif

定义.cs包含在与 form1 相同的 projet 中.cs但上述条件给出: foo is not!

如何使用其他文件中的 #define

您不能,但您可以做的是将定义移动到项目配置中,以便项目中的所有文件都可以看到定义。

请参阅如何在 C# 中全局定义常量(如 DEBUG)中的说明。

在 C# 中,#define 的范围仅限于声明它的文件。
要定义在所有文件中可见的符号,一种方法是项目->属性->生成->条件编译符号,并在那里指定符号"FOO"。

根据此 MSDN 页面,

使用 #define 创建的符号的范围是在其中定义它的文件。

你不能, 使用 #define 创建的符号的范围是定义它的文件。

正如其他人所说,#define 的范围仅限于单个文件。

但是,您可以定义作用域为整个程序集的预处理器变量。 为此,您只需进入项目设置的"构建"部分,然后将其放入"条件编译符号"部分。 (这只是管理/define 编译器开关的一种更简单的方法。 该方法还有一个额外的优势,即还允许您为不同的生成配置定义不同的符号集。