条件属性与评论
Posted
技术标签:
【中文标题】条件属性与评论【英文标题】:ConditionalAttribute vs Comments 【发布时间】:2014-01-06 23:27:23 【问题描述】:我刚刚读到http://msdn.microsoft.com/en-us/library/system.diagnostics.conditionalattribute.aspx。
我正在努力理解使用
之间的区别[Conditional("CONDITION1")]
有/无
#define CONDITION1
只是评论/取消评论一个方法?
ConditionalAttribute 的唯一目的是让编译器忽略一个方法或属性吗?如果是这样,为什么不使用评论呢?如果不是,与只使用 cmets 相比有什么优势?
【问题讨论】:
您可以在构建时轻松定义符号,例如csc /define:CONDITION1
。注释掉整个方法体要困难得多。
在我看来,您可以将它重新用于多种方法。这样你就不会在 cmets 中有一半的代码,但你只有一个 #define CONDITION1
。
【参考方案1】:
使用条件属性,您可以通过一个步骤启用和禁用多个代码部分,而不必搜索源代码并注释/取消注释多个位置。
条件属性还可以提供有关为什么启用或禁用某些代码的信息(例如,出于调试目的等)
此外,您应该更喜欢条件属性而不是条件编译(#if
等),如Effective C# 中所述。
【讨论】:
以上是关于条件属性与评论的主要内容,如果未能解决你的问题,请参考以下文章
NSPredicate 用于检查与其他变量匹配的 CoreData 属性是不是满足条件
Angular2:条件显示,绑定到 [hidden] 属性与 *ngIf 指令 [重复]