Compilatore C # direttive
-
05-10-2019 - |
Domanda
sto guardando un po 'di codice C #, e ho incontrato la seguente dichiarazione:
#if DEBUG
// Do something here
#else
// Do something else
#endif
I presume che DEBUG sarebbe un posto definito nel seguente modo:
#define DEBUG
Ma io sono in grado di trovare una tale definizione, anche se il codice sembra comportarsi come se fosse impostato. DEBUG è un caso speciale, e se sì, come è impostato / unset?
Soluzione
Il progetto, andare a Properties -> Build
. In generale, si dispone di un'opzione lì per definire sia DEBUG
e TRACE
.
Altri suggerimenti
Si è impostato con la direttiva #define
o nel compilatore impostazioni . E 'comune per DEBUG da definire nelle versioni di debug, così si potrebbe condizionale compilare alcune codice come nel tuo esempio.
Si può leggere di più su MSDN .
Se si guarda nelle proprietà del progetto si trova un'opzione di debug DEBUG Poi si può fare in C #:
[Conditional("Debug")]
public void DebugThis()
{
}
Si può anche definire il debug e trace costanti di compilazione condizionale sotto scheda Costruisci le proprietà del progetto. Per questo esempio, Definisci DEBUG costante casella di controllo è probabilmente verificata per il vostro progetto.
Maggiori dettagli @ MSDN .