或者C#中Conditional属性中的运算符

本文关键字:运算符 属性 Conditional 或者 | 更新日期: 2023-09-27 18:25:15

在C#中,我们可以根据构建类型来区分代码执行。默认情况下,我们定义了调试和发布类型
我们可以使用#if指令:

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

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

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

第二个解决方案甚至被认为更易于维护(请参阅:Bill Wagner的Effective C#)。

我的问题是,如何将Conditional属性用于许多构建配置?有可能以某种方式使用or运算符吗?我之所以这么问,是因为我希望在DEBUG和BAR构建配置中同时执行一些Foo方法。那怎么办?

或者C#中Conditional属性中的运算符

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

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

这将是你想要的行为——它们将被逻辑地ORD组合在一起。

请参阅MSDN以获取参考。