#pragma warning

每次编译从网上下载的开源代码,我都会对着 Error List 窗口里密密麻麻的黄色 Warning 信息发呆。可能我有那么点 "洁癖",因为有很多警告信息实在没有必要弄出来干扰我们的视线。

   

利用 C# 预处理指令(Preprocessor Directives),我们可以屏蔽掉那些我们能确认的警告信息。比如:

try

{

  // do something...

  throw new Exception();

}

catch (Exception ex)

{

  // TODO: 记录错误日志

}

我们已经使用了 TODO 标记,表示会在日后某个时间补全这段代码。但当我们编译(Build)时,会出现如下警告信息。

   

   

接下来,我们请出 "#pragma warning"

#pragma warning disable 0168

try

{

  throw new Exception();

}

catch (Exception ex)

{

  // TODO: 记录错误日志

}

#pragma warning restore 0168

再次编译,警告信息没有了,世界终于清净了。

你或许奇怪数字 "0168" 怎么来的,在警告信息右键菜单单击 "Show Error Help" 打开 MSDN Explorer 就行了。

   

   

   

我们平时用到的预处理指令还有很多,包括我们已经习惯了的 #if#region 等等。

   

#if

#else

#elif

#endif

   

#define

#undef

   

#warning

#error

#line

   

#region

#endregion

   

#pragma

#pragma warning

#pragma checksum

   

最后严重恼火一把,System.Web.Script.Serialization.JavaScriptSerializer 明明是 FX 3.5 才加入的,怎么也被加上 Obsolete 标记了?难道是临时方案?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值