CSharp-预处理器指令
预处理器指令
预处理器指令(preprocessor directive):用于在 C# 源代码中嵌入的编译器命令,告诉C#编译器要编译哪些代码,并指出如何处理特定的错误和警告。C#预处理器指令还可以告诉C#编辑器有关代码组织的信息。
选中 项目 ,右键 属性,在 生成
标签:
1 2 3 4 5 6 7
| #if DEBUG Console.WriteLine("DEBUG"); #endif
#if TRACE Console.WriteLine("TRACE"); #endif
|
具体预处理器指令参考:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| #if #else #elif #endif #define #undef #warning #error #line #region #endregion #pragma #pragma warning #pragma checksum
|
ConditionalAttribute
指示编译器,除非定义了指定的有条件编译符号,否则,应忽略方法调用或属性。
注意:
#if DEBUG:此处的代码在发布时甚至不会到达IL。
[Conditional(“DEBUG”)]:这个代码将到达IL,但是当设置为DEBUG时,才会被调用。
1 2 3 4 5 6 7 8
| [Conditional("DEBUG")] public void DoSomething() { }
public void Foo() { DoSomething(); }
|
参考:
C# 预处理器指令
如何:使用跟踪和调试执行有条件编译
如何:创建、初始化和配置跟踪开关
-define(C# 编译器选项)
管理项目和解决方案属性
#if DEBUG vs. Conditional(“DEBUG”)