Подтвердить что ты не робот

Или оператор в условном атрибуте в С#

В С# мы можем дифференцировать выполнение кода в зависимости от типа сборки. По умолчанию мы определили типы Debug и Release.
Мы можем сделать это, используя директиву #if:

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

Но мы можем также использовать атрибут Conditional:

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

Второе решение, как утверждается, является более пригодным для обслуживания (см.: Эффективный С# Биллом Вагнером).

Мой вопрос: как я могу использовать атрибут Conditional со многими конфигурациями сборки? Можно ли каким-то образом использовать оператор or? Я прошу, потому что я хочу, чтобы какой-то метод Foo выполнялся как, например, в конфигурациях сборки DEBUG и BAR. Что тогда?

4b9b3361

Ответ 1

Вы можете использовать несколько условных атрибутов, разделенных запятыми, например

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

и это будет именно ваше желаемое поведение - они будут логически объединены вместе.

См. MSDN для справки.