c# - 或 C# 中条件属性中的运算符

标签 c#

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

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

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

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

第二种解决方案甚至声称更易于维护(请参阅:Bill Wagner 的 Effective C#)。

我的问题是 - 如何将 Conditional 属性用于许多构建配置?是否可以以某种方式使用 运算符?我问是因为我希望在 DEBUG 和 BAR 构建配置中都执行一些 Foo 方法。然后呢?

最佳答案

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

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

这将正是您想要的行为 - 它们将在逻辑上进行“或”运算。

参见 MSDN供引用。

关于c# - 或 C# 中条件属性中的运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34038246/

相关文章:

c# - 在特定工作簿中运行 Excel 宏从 C# 失败

c# - 拆分以逗号分隔的行,注意不要在文本 block 内的逗号上拆分

c# - 缺少 Microsoft.WindowsAzure.ServiceRuntime.RoleEntryPoint 的编译错误

c# - AngularJS:如何使用 AngularJS 而不是 Razor 设置 MVC 模型数据值?

c# - 如何在 Visual Studio for C# 项目中使用自定义框架而不是 .NET?

C# 覆盖公共(public)成员并将其设为私有(private)

C# 对 datagridview 行中的相同值进行着色

c# - 为什么这个例子中的队列锁是必要的

javascript - 是否有访问 JSON.parse XMLHTTPRequest.responseText 的通用方法?

c# - 如何传递给实现 certan 接口(interface)的通用函数类类型?