Нет, члены класса Debug
(с атрибутом ConditionalAttribute
) не излучают IL. Существует no explicit mention on MSDN, однако следующие две цитаты подразумевают поведение довольно хорошо, так, чтобы увеличить ответ Рой:
При использовании методов в классе отладки для печати отладочной информации и проверить логику с утверждениями, вы можете сделать ваш код более надежный, не влияя на производительность и размер кода вашего товара для доставки.
Таким образом, никакой разницы размер не подразумевает выход из них вообще, и
Атрибут ConditionalAttribute применяется к методам отладки. Компиляторы, которые поддерживают ConditionalAttribute, игнорируют вызовы этих методов , если только «DEBUG» не является условным символом компиляции. Обратитесь к документации компилятора, чтобы определить, поддерживается ли условный атрибут и синтаксис для определения условного символа компиляции .
Это означает, что на уровне компилятора, эти вызовы не будет даже рассматривать
Проверьте мой [старая запись в блоге] (HTTP (если
DEBUG
не определен.): //tjoe.wordpress .com/2007/12/03/cotw-conditionalattribute-class /), имея в виду, что методы 'Debug' украшены' [Conditional ("DEBUG")] '. – CodeNaked