博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
.NET常用系统Attirbute整理
阅读量:6970 次
发布时间:2019-06-27

本文共 795 字,大约阅读时间需要 2 分钟。

预处理标示特性 Conditional

  Conditional 应用于方法以启用或禁用程序特定的诊断信息的显示:

#define TRACE_ONusing System;using System.Diagnostics;public class Trace{    [Conditional("TRACE_ON")]    public static void Msg(string msg)    {        Console.WriteLine(msg);    }}public class ProgramClass{    static void Main()    {        Trace.Msg("Now in Main...");        Console.WriteLine("Done.");    }}

如果未定义 TRACE_ON 标识符,则将不会显示跟踪输出。

Conditional 属性经常与 DEBUG 标识符一起使用以启用调试版本的跟踪和日志记录功能(在发布版本中没有这两种功能),如下例所示:

[Conditional("DEBUG")]static void DebugMethod(){}

当调用标记为条件的方法时,指定的预处理符号的存在或不存在决定是否包含或省略此调用。如果定义了该符号,则包含调用;否则省略调用。使用 Conditional 是封闭   和 内部方法的替代方法,它更整洁、更别致、减少了出错的机会,如下例所示:

#if DEBUGvoid ConditionalMethod(){}#endif

条件方法必须是类或结构声明中的方法,而且必须具有 返回类型。

多个标示符之间是或关系

 详见

转载于:https://www.cnblogs.com/FlyCat/archive/2012/03/26/2579990.html

你可能感兴趣的文章
单点登录原理与简单实现
查看>>
django admin使用-后台数据库管理界面
查看>>
jquery怎么获取URL的参数
查看>>
Fragment 点击事件的穿透和重叠bug
查看>>
springBoot整合ftp上传图片功能
查看>>
34. Find First and Last Position of Element in Sorted Array
查看>>
113. Path Sum II
查看>>
Jenkins定时构建和轮询SCM设置说明
查看>>
Poj(2421),Prim最小生成树
查看>>
UPS故障案例集(二)
查看>>
[luogu 3803]【模板】多项式乘法
查看>>
MySQL中的锁、隔离等级和读场景
查看>>
流弊博客集锦(updating)
查看>>
dedecms 的这个dede:arclist里怎么调用全局变量?
查看>>
eclipse上跑项目越来越慢的解决办法
查看>>
个人开公司的流程,以后用得着(经典)(转)
查看>>
跟踪内核启动过程CONFIG_DEBUG_LL【转自】
查看>>
系统数据文件和信息
查看>>
Laravel 程序架构设计思路:使用动作类
查看>>
Java线程池实现原理与技术(ThreadPoolExecutor、Executors)
查看>>