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