Nie, członkowie klasy Debug
(z atrybutem ConditionalAttribute
) nie emitują IL. Jest no explicit mention on MSDN jednak następujące dwa cytaty implikuje zachowanie całkiem dobrze, tak aby zwiększać Roya odpowiedź:
Jeśli używasz metody w klasie Debug wydrukować informacje debugowania i sprawdź swoją logikę z twierdzeń, można dokonać Twój kod więcej solidny, bez wpływu na wydajność i rozmiar kodu produktu wysyłkowego .
Tak, nie implikuje żadnej różnicy wielkości wyjściowe z nich w ogóle, a
Atrybut ConditionalAttribute jest stosowana do metod debugowania. Kompilatory obsługujące funkcję ConditionalAttribute ignorują wywołania metodami , chyba że "DEBUG" jest zdefiniowany jako symbol kompilacji warunkowej. Zobacz dokumentację kompilatora, aby ustalić, czy obsługiwana jest metoda warunkowaAttribute i składnia definicji warunkowego symbolu kompilacji .
co oznacza, że na poziomie kompilatora, nie będzie nawet uznać te połączenia
Sprawdź moje [stary wpis blogu] (http (gdy
DEBUG
nie jest zdefiniowana.): //tjoe.wordpress .com/2007/12/03/cotw-conditionalattribute-class /), pamiętając o tym, że metody 'Debug' są ozdobione' [Warunkowe ("DEBUG")] '. – CodeNaked