Code nur beim Debuggen laufen lassen
-
Frage
Wie kann ich Code nur im Debugmodus laufen lassen?Antwort
In C# gibt es auch eine Art von Präprozessor, wie man diesen in C oder C++ kennt. Er ist allerdings deutlich eingeschränkter und kann nur Bedingungen prüfen. Wenn man eine Debug-Kompilierung macht, so wird automatisch das SymbolDEBUG
definiert. Mit den Präprozessor Anweisungen kann man nun auf dieses Symbol prüfen. Zusätzlich gibt es auch noch dasConditionalAttribute
, mit welchem man eine Methode verbinden kann. Dann wird die Methode nur ausgeführt, wenn das angegebene Symbol vorhanden ist.Beispiel
using System; class Program { public static void Main() { #if DEBUG Console.WriteLine("Debug"); #else Console.WriteLine("Release"); #endif } }
using System; using System.Diagnostics; class Program { public static void Main() { DebugWrite("Test"); Console.WriteLine("Blub"); } [Conditional("DEBUG")] private static void DebugWrite(string text) { Console.Write(text); } }