我刚读过http://msdn.microsoft.com/en-us/library/system.diagnostics.conditionalattribute.aspx。
我很难理解使用
之间的区别[Conditional("CONDITION1")]
有/没有
#define CONDITION1
只是评论/取消注释方法?
ConditionalAttribute的唯一目的是使编译器忽略方法或属性吗?如果是这样,为什么不使用评论呢?如果没有,与仅使用评论相比有哪些优势?
答案 0 :(得分:3)
使用条件属性,您只需一步即可启用和禁用多个代码部分,而不必搜索源代码并注释/取消注释多个位置。
条件属性还可以提供有关为什么启用或禁用某些代码(例如用于调试目的等)的信息。
此外,您应该首选条件属性到条件编译(#if
等),如Effective C#中所述。