或者在C#中的条件属性中的运算符

在C#中,我们可以根据构buildtypes区分代码执行。 默认情况下,我们定义了Debug和Releasetypes。
我们可以使用#if指令来做到这一点:

 #if DEBUG public void Foo() { ... } #endif 

但是我们也可以使用Conditional属性:

 [Conditional("DEBUG")] public void Foo() { ... } 

第二个解决scheme甚至声称是更可维护的(参见Bill Wagner的Effective C#)。

我的问题是 – 如何使用Conditional属性与许多构buildconfiguration? 有没有可能以某种方式使用or运营商? 我问,因为我想要在例如DEBUG和BAR构buildconfiguration中执行一些Foo方法。 然后怎样呢?

您可以使用多个以逗号分隔的条件属性

 [Conditional("DEBUG"), Conditional("BAR")] 

这将是你想要的行为 – 他们将被逻辑“或”在一起。

请参阅MSDN以供参考。