C # Compiler-Direktiven
-
05-10-2019 - |
Frage
Ich bin bei einigen C # -Code suchen, und sind dabei auf die folgende Aussage kommen:
#if DEBUG
// Do something here
#else
// Do something else
#endif
ging ich davon aus, dass DEBUG würde eine definierte irgendwo wie folgt aussehen:
#define DEBUG
Aber ich bin nicht in der Lage, eine solche Definition zu finden, obwohl der Code zu verhalten scheint, als ob es gesetzt wurden. Ist DEBUG ein Sonderfall, und wenn ja, wie wird es aktiviert / deaktiviert?
Lösung
Auf dem Projekt, gehen Sie zu Properties -> Build
. Unter der Regel haben Sie eine Option, da sowohl DEBUG
und TRACE
zu definieren.
Andere Tipps
Es ist mit der #define
Richtlinie festgelegt oder in den Compiler-Einstellungen . Es ist üblich, DEBUG in Debug-Versionen definiert werden, so dass Sie bedingt einen Code wie in Ihrem Beispiel kompilieren können.
Sie können weitere Informationen auf MSDN .
Wenn Sie in den Projekteigenschaften schauen, werden Sie eine Debug-Option DEBUG finden Dann können Sie in C # tun:
[Conditional("Debug")]
public void DebugThis()
{
}
Sie können auch die Debug- und Trace-bedingte Kompilierungskonstanten unter der Registerkarte Build Projekteigenschaften definieren. Aus diesem Beispiel definieren DEBUG Konstante Checkbox wird wahrscheinlich für Ihr Projekt überprüft.
Weitere Details @ MSDN .