随笔 - 234  文章 - 1  评论 - 161 
条件编译指令用于按条件包含或排除源文件中的某些部分。

按照语法的规定,条件编译指令必须写成集的形式,集的组成依次为:一个 #if 指令、一个或多个 #elif 指令(或没有)、一个或多个 #else 指令(或没有)和一个 #endif 指令。指令之间是源代码的条件节。每节代码直接位于它前面的那个指令控制。条件节本身可以包含嵌套的条件编译指令,前提是这些指令构成完整的指令集。

 1 #define Debug      // Debugging on
 2 #undef Trace      // Tracing off
 3 class PurchaseTransaction
 4 {
 5    void Commit() {
 6       #if Debug
 7          CheckConsistency();
 8          #if Trace
 9             WriteToLog(this.ToString());
10          #endif
11       #endif
12       CommitHelper();
13    }
14 }
#define或#undef必须定义在所有using 命名空间前面.#define类型为布尔值的真,#undef为布尔值的假.

C#为此提出了一种更好的选择:Conditional特性。使用Conditional特性,我们可以将一些函数隔离出来,使得它们只有在定义了某些环境变量或者设置了某个值之后才能发挥作用。Conditional特性最常用的地方就是将代码改编为调试语句。.NET框架已经为此提供了相关的功能支持。下面的代码展示了Conditional特性的工作原理,以及适用场合。

1 [ Conditional( "DEBUG" ) ]
2 private void CheckState( )
3 {
4   // 代码保持不变。
5 }
6 
7 
Conditional的命名空间:using System.Diagnostics;
Conditional方法作用的函数必须为void返回类型的。

这样就可以在编译的过程中生成多种版本的程序。
msn/mail:herobeast@163.com
座右铭:每天超于自己就是进步!
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
posted on 2007-08-08 14:06 HeroBeast 阅读(1170) 评论(0)  编辑 收藏 网摘 所属分类: WinForm



发表评论

昵称: [登录] [注册]

主页:

邮箱:(仅博主可见)

评论内容:

  登录  注册

[使用Ctrl+Enter键快速提交评论]

0 847803




相关文章:

相关链接: