Wieder was neues gelernt. Manche Sachen würden ewig im Verborgenen bleiben, wenn man nicht zufällig drauf stößt. Ein Vorteil wenn das Entwicklerteam aus mehr als einer Person besteht. Ich konnte diese Woche den Befehl
1 2 3 | #if DEBUG // Enter debug code here #endif |
für mich entdeckt. Was macht das? Wenn die Konfiguration auf ‚Debug‘ steht, wird der Code ausgeführt – ändert man auf ‚Release‘ wird er übersprungen.
Praktischer nutzen? Man kann Testausgaben während der Entwicklung machen. Stellt man auf Release sind alle Testausgaben abgeschaltet.
Ich verwende es aktuell bei meinem Rapidshare Account Manager in Verbindung mit dem HomeOffice & Log4Net. Während der Entwicklung soll der Logger im Rapidshare Account Manager verwendet werden um Fehler zu protokollieren. Wenn das ganze aber im HomeOffice läuft, soll der Logger vom HomeOffice verwendet werden. Da ich den Logger beim Rapidshare Account Manager im Code definiere, kann ich mit folgender Anweisung zwischen Debug und Release (HomeOffice Plugin) wechseln:
1 2 3 4 5 6 | #if !DEBUG private static readonly ILog _Logger = LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); #endif #if DEBUG private static readonly ILog _Logger = Logger.Create(); #endif |
Cool, #Else gibt es aber auch noch *auf-das-Code-Beispiel-guck*
Ahh, Danke! Das ‚!DEBUG‘ hab‘ ich mir ergoogelt – hab’s erst mit ‚#if RELEASE‘ versucht. Wieder was gelernt *ausgezeichnet*