#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 标记了?难道是临时方案?

你可能感兴趣的:(exception,list,C#,Build,preprocessor)