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 SymbolDEBUGdefiniert. 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); } }