ConditionalAttribute与评论

时间:2014-01-06 23:27:23

标签: c# attributes c-preprocessor compiler-directives

我刚读过http://msdn.microsoft.com/en-us/library/system.diagnostics.conditionalattribute.aspx

我很难理解使用

之间的区别
[Conditional("CONDITION1")] 

有/没有

#define CONDITION1

只是评论/取消注释方法?

ConditionalAttribute的唯一目的是使编译器忽略方法或属性吗?如果是这样,为什么不使用评论呢?如果没有,与仅使用评论相比有哪些优势?

1 个答案:

答案 0 :(得分:3)

使用条件属性,您只需一步即可启用和禁用多个代码部分,而不必搜索源代码并注释/取消注释多个位置。

条件属性还可以提供有关为什么启用或禁用某些代码(例如用于调试目的等)的信息。

此外,您应该首选条件属性到条件编译(#if等),如Effective C#中所述。

相关问题