Le direttive del preprocessore in C#
Le direttive del preprocessore sono comandi che non vengono mai convertiti in altri comandi, ma che influiscono comunque su alcuni aspetti della compilazione.
E' utile, ad esempio, usare queste direttive quando non si vuole che alcuni parti del programma non vengano compilate perchè alcune funzioni saranno usufruibili solo in una versione a pagamento.
Ovviamente è solo un esempio, ma rende un pò l'idea della loro utilità.
Tutte le direttive cominciano con il segno #.
Vediamo quali sono.
#define e #undef
E' usato in questo modo:
#define DIR
Serve per dire al copilatore che esiste un simbolo con il nome sepcificato (che in questo caso è DIR).
Possiamo paragonarla a una variabile, solo che non dispone di un valore.
#undef esegue l'operazione opposta:
#undef DIR
Queste direttive devono essere inserite all'inizio del sorgente.
Si capisce che da sole servono a poco, ma solo molto utili in combinazione con altre direttive.
#if, #elif, #else e #endif
Queste direttive sono condizionali e indicano al compilatore se compilare o meno un blocco.
E' qui che può entrare in gioco #define.
#define DIR
#if DIR
// operazioni
#elif DIR2
// operazioni 2
#else
// operazioni comuni
#endif
Non essendoci DIR2 operazioni comuni non verranno compilate.
Ovviamente si possono anche fare #if annidati.
#warning e #error
Servono per generare un avviso.
L'avviso corrisponde a tutto ciò che c'è dopo la direttiva:
#warning "Ricordati di cancellare questa riga e i vari punti di debug"
#region e #endregion
Servono per indicare che uno specifico blocco di codice deve essere trattato come un singolo specifico blocco.
La funzione è utile per tenere pulito il codice nella pagina:
#region
int x = 10;
int y = 20;
Console.WriteLine(x + y);
#endregion
Ad ogni #region deve corrispondere un #endregion.
#line
Può essere usata per cambiare il nome e il numero di riga visualizzati dal cimpilatore nei messaggi di avviso e errore.
E' utile nei casi in cui in fase di scrittura si usano anche altri pacchetti che modificano il codice digitato prima di inviarlo al compilatore.
#line 130 MyProgram.cs // questa sarà la riga 130 nel file MyProgram.cs prima che il pacchetto intermedio apporti modifiche
// .....
#line defualt
L'ultima riga ripristina la numerazione corretta.
#pragma
Consente di eliminare o ripristinare avvisi specifici del compilatore.
c# c# direttive prepocessore cimpilatore
Commentami!