Условный атрибут - PullRequest
       14

Условный атрибут

3 голосов
/ 08 января 2010

Быстрый вопрос C #, я хотел бы знать, что в моем проекте> Свойства> Сборка есть проверка «Определить постоянную отладки» , поэтому, если я проверю это, а затем сделаю это,

[Conditional(DEBUG)]
public static void Foo() {
      Console.WriteLine("Executed Foo");
}

Видите, это не "ОТЛАДКА" это константа ОТЛАДКА . Так будет ли это хорошо? Или мне нужно добавить "DEBUG" в условные символы компиляции в настройках проекта? Или # определить это?

Ответы [ 2 ]

5 голосов
/ 08 января 2010

Я почти уверен, что вам нужно сделать:

[Conditional("Debug")] or [Conditional("DEBUG")]

Или вы можете определить свою собственную константу, такую ​​как:

const string DEBUG = "DEBUG";

Тогда используйте это

[Conditional(DEBUG)]

Это должно сопровождаться декларацией #define DEBUG. См. Условный C # в MSDN.

3 голосов
/ 08 января 2010

Вы должны добавить двойные кавычки, чтобы это работало:

[Conditional("DEBUG")] // <- Works the DEBUG define
public static void Foo() {
    Console.WriteLine("Executed Foo");
}
...