C#条件编译指令浅析

C#条件编译指令用于按条件包含或排除源文件中的某些部分。

让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:域名与空间、网络空间、营销软件、网站建设、库车网站维护、网站推广。

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

 
 
 
  1. 1 #define Debug      // Debugging on 
  2.  2 #undef Trace      // Tracing off 
  3.  3 class PurchaseTransaction  
  4.  4 {  
  5.  5    void Commit() {  
  6.  6       #if Debug  
  7.  7          CheckConsistency();  
  8.  8          #if Trace  
  9.  9             WriteToLog(this.ToString());  
  10. 10          #endif  
  11. 11       #endif  
  12. 12       CommitHelper();  
  13. 13    }  
  14. 14 } 

#define或#undef必须定义在所有using 命名空间前面.#define类型为布尔值的真,#undef为布尔值的假.

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

 
 
 
  1. 1 [ Conditional( "DEBUG" ) ]  
  2. 2 private void CheckState( )  
  3. 3 {  
  4. 4   // 代码保持不变。  
  5. 5 } 

Conditional的命名空间:using System.Diagnostics;

Conditional方法作用的函数必须为void返回类型的。

这样就可以在编译的过程中生成多种版本的程序。

当前标题:C#条件编译指令浅析
本文地址:http://www.hantingmc.com/qtweb/news42/537742.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联