C #! Условный атрибут?

Есть ли в C # not Conditional (! Условный , NotConditional , Условный (!) ) атрибут?


Я знаю, что C # имеет атрибут Условный :

[Conditional("ShowDebugString")]
public static void ShowDebugString(string s)
{
   ...
}

, что эквивалентно 1 :

public static void ShowDebugString(string s)
{
#if ShowDebugString
   ...
#endif
}

Но в этом случае мне нужно обратное поведение (вы должны специально отказаться ):

public static void ShowDebugString(string s)
{
#if !RemoveSDS
   ...
#endif
}

Который заставляет меня попробовать:

[!Conditional("RemoveSDS")]
public static void ShowDebugString(string s)
{
   ...
}

который не компилируется. И:

[Conditional("!RemoveSDS")]
public static void ShowDebugString(string s)
{
   ...
}

который не компилируется. И:

[NotConditional("RemoveSDS")]
public static void ShowDebugString(string s)
{
   ...
}

который не компилируется, потому что это всего лишь принятие желаемого за действительное.

1 Неправда , но это правда. Не заставляйте меня возвращать Уголок Нитпикера.

63
задан LosManos 27 June 2017 в 08:45
поделиться