在C#中,我们可以根据构建类型区分代码执行.默认情况下,我们定义了Debug和Release类型.
我们可以使用#if
指令来做到这一点:
#if DEBUG public void Foo() { ... } #endif
但我们也可以使用Conditional
属性:
[Conditional("DEBUG")] public void Foo() { ... }
第二种解决方案甚至声称更易于维护(参见:Bill Wagner的有效C#).
我的问题是 - 如何在Conditional
许多构建配置中使用该属性?有可能以某种方式使用or
运算符吗?我问,因为我希望在例如DEBUG和BAR构建配置中执行一些Foo方法.然后怎样呢?
您可以使用多个逗号分隔的条件属性,例如
[Conditional("DEBUG"), Conditional("BAR")]
它将完全符合您的期望行为 - 它们将在逻辑上与ORed组合在一起.
请参阅MSDN以供参考.