首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

准则4:使用条件特性(conditional attribute)代替 #if

2013-11-23 
原则4:使用条件特性(conditional attribute)代替 #if[Conditional(DEBUG)] private static void SomeMet

原则4:使用条件特性(conditional attribute)代替 #if
[Conditional("DEBUG")] private static void SomeMethod(string param) {}

?

? ? ? ?这里会有一个很微妙的错误。 SomeMethod() 只有在 DEBUG 符号被定义了才会被调用。而且 names.Dequeue() 也是一样的。因为结果不是必须的,所以方法没有调用。任何条件特性的方法不应该有任何参数。使用调用方法来产生参数会有副作用。如果条件不为 ture 这些方法不会被调用。

?

? ? ? ?条件特性比 #if/#endif 产生了更高效的 IL 代码。还有一个好处就是只能使用在函数级别上,这迫使你要更好的组织你的条件代码。编译器使用条件特性帮助我们避免了使用 #if/#endif 的常见错误。条件特性比预处理更能让你你的条件代码分离的更清晰。

?

?

小结:

? ? ? ?更新晚了,昨天晚上写了一半,现在弄完。昨天家里发生了点事情,心里一直不安,感觉挺无奈的。只有对自己说,我要努力,我要顶住。原则4,相对于前面3个原则有点偏门,而且两点少了点,说服力不够。

?

?

? ? ? 欢迎各种不爽,各种喷,写这个纯属个人爱好,秉持”分享“之德!

? ? ? 有关本书的其他章节翻译请点击查看,转载请注明出处,尊重原创!

?

如果您对D.S.Qiu有任何建议或意见可以在文章后面评论,或者发邮件(gd.s.qiu@gmail.com)交流,您的鼓励和支持是我前进的动力,希望能有更多更好的分享。

? ? ? ? 转载请在文首注明出处:http://dsqiu.iteye.com/blog/1979093

更多精彩请关注D.S.Qiu的博客和微博(ID:静水逐风)

?

热点排行