如何使用其他文件中的 #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!
您不能,但您可以做的是将定义移动到项目配置中,以便项目中的所有文件都可以看到定义。
请参阅如何在 C# 中全局定义常量(如 DEBUG)中的说明。
在 C# 中,#define 的范围仅限于声明它的文件。
要定义在所有文件中可见的符号,一种方法是项目->属性->生成->条件编译符号,并在那里指定符号"FOO"。
根据此 MSDN 页面,
使用 #define 创建的符号的范围是在其中定义它的文件。
你不能, 使用 #define 创建的符号的范围是定义它的文件。
正如其他人所说,#define 的范围仅限于单个文件。
但是,您可以定义作用域为整个程序集的预处理器变量。 为此,您只需进入项目设置的"构建"部分,然后将其放入"条件编译符号"部分。 (这只是管理/define 编译器开关的一种更简单的方法。 该方法还有一个额外的优势,即还允许您为不同的生成配置定义不同的符号集。