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