• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

在C#中使用Conditional元数据attribute来实现Debug代码

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

1[Conditional("DEBUG")] 
2private void DEBUG_TRACE( string strMsg )
3
        这种写法清晰,代码简介,容易阅读,可以屏蔽潜在的bug。
1 DEBUG_TRACE("ERROR MESSAGE1");
2 Console.WriteLine("MESSAGE");
3 DEBUG_TRACE("ERROR MESSAGE2");
        对于这段代码在RELEASE中生成的IL代码和如下的代码一样。
Console.WriteLine("MESSAGE");

不过使用Conditional属性的函数有个限制,就是不能有返回值,即必须以void来定义返回值。

   
而且用Conditional来增加多个属性,例如:

    [Conditional( "DEBUG" ),Conditional( "TRACE" )]

    private void DEBUG_TRACE( string strMsg )

    {

        Console.WriteLine( strMsg );

    }

 

不过这两个属性之间的关系是或的关系,即“DEBUG”或者“TRACE”任意一个被定义了,那么这段代码就会被执行。如果需要增加两个并的属性,直接用Conditional是无法实现的,需要借助IF/ENDIF来完成,如下:

    #if( DEBUG && TRACE )

    #define BOTH

#endif

    [Conditional( "BOTH" )]

    private void DEBUG_TRACE( string strMsg )

    {

        Console.WriteLine( strMsg );

    }

 

方法已经说到这里,可以基本上说完了。接下来,就说说如何设置环境变量,在C#中有三种设置方法。

方法一,直接在程序中加入,需要在一个文件的开头进行定义;

方法二,在项目中的编译命令行中进行设置;

方法三,是在操作系统中增加环境变量。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
如何在C#中将yyyy/mm/dd转化为yyyy-mm-dd的方法总结发布时间:2022-07-10
下一篇:
C#索引器、哈希表Hashtabl、字典Dictionary发布时间:2022-07-10
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap