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

例如:

define.cs

#define FOO 

Form1.cs的

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

define.cs包含在form1.cs的同一个项目中,但上面的条件给出了: foo is not!

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

请参阅如何在C#中全局定义常量(如DEBUG)中的指示信息。

根据这个MSDN页面 ,

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

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

正如其他人所说,#define定义为单个文件。

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

在C#中,#define的范围仅限于声明它的文件。
要定义所有文件中可见的符号,一种方法是Project-> Properties-> Build-> Conditional Compilation Symbols,并在那里指定符号“FOO”。