如何在一个专门的文件中定义项目中所有的#define?

mahongxi 2005-01-06 11:13:46
在项目中,各个cs文件中可能分布了多个编译开关
#if xxxx
...
#else
..
#endif

如果把开关的定义 #define xxxx 统一编写在一个文件中,这样就可以在一个地方管理编译选项了.
这个在 c/c++ 中可能通过 #include 头文件 来实现, 在 delphi 中也可以通过 use xxxx.inc 文件来实现,请问在 c# 中如何实现?
Q1.存放编译开关定义的文件格式有何要求?如果是 cs,命名空间有何要求?
Q2.如何在其它文件中使用这些开关,需要 use 还是什么其它方式?

谢谢大家的帮助!
...全文
196 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
shan1119 2005-01-06
  • 打赏
  • 举报
回复
学习
NaZiChong 2005-01-06
  • 打赏
  • 举报
回复
在 Visual C# 中,条件编译常数与 /define 编译器选项匹配:
Name1
这等效于下面的代码语句:
#define Name1
通过用分号或逗号分隔常数来声明多个常数,如下所示:
Name1;Name2
假定项目有以下代码:
// C#
#if SAYHI
MessageBox.Show("Hello");
#endif
当在已定义的任意一种配置下运行时,通过对该项目的引用来调用此宏将导致显示 "Hello" 消息:
Sub DefineAConstant(ByVal vsproject As Project)
Dim conf As EnvDTE.Configuration
For Each conf In vsproject.ConfigurationManager
conf.Properties.Item("DefineConstants").Value = "SAYHI=True"
Next
End Sub

无需特殊的使用方式,直接使用即可。
NaZiChong 2005-01-06
  • 打赏
  • 举报
回复
项目属性-》配置属性-》生成-》条件编译常数

在这里定义的常量可用于该项目的任何地方。
stephenZL 2005-01-06
  • 打赏
  • 举报
回复
帮你 顶一下!!
hanyaocsdn 2005-01-06
  • 打赏
  • 举报
回复
帮你顶。
Fibona 2005-01-06
  • 打赏
  • 举报
回复
C++中是知道的,C#中怎么搞的,不清楚了.
zyhjolly 2005-01-06
  • 打赏
  • 举报
回复
好问题,好答案(未检查)

111,098

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧