No, los miembros de la clase Debug
(con el atributo ConditionalAttribute
) no emiten IL. Hay no explicit mention on MSDN, sin embargo, las siguientes dos citas implican el comportamiento bastante bien, por lo que para aumentar la respuesta de Roy:
Si utiliza métodos de la clase Debug para imprimir información de depuración y comprobar su lógica con las afirmaciones, se puede hacer su código más robusto sin afectar el rendimiento y el tamaño del código de su producto de envío .
Por lo tanto, no hay diferencia de tamaño no implica salida de éstos en absoluto, y
El atributo ConditionalAttribute se aplica a los métodos de depuración. Los compiladores que admiten ConditionalAttribute ignoran las llamadas a estos métodos a menos que "DEBUG" se defina como un símbolo de compilación condicional. Consulte la documentación del compilador para determinar si se admite ConditionalAttribute y la sintaxis para definir un símbolo de compilación condicional .
Lo que significa que, a nivel del compilador, incluso no tener en cuenta estas llamadas
Compruebe hacia fuera mi [entrada de blog de edad] (http (cuando
DEBUG
no está definido.): //tjoe.wordpress .com/2007/12/03/cotw-conditionalattribute-class /), teniendo en cuenta que los métodos 'Debug' están decorados con' [Conditional ("DEBUG")] '. – CodeNaked