/define (definizione del preprocessore) (opzioni del compilatore C#)
Aggiornamento: Luglio 2008
L'opzione /define definisce name come simbolo in tutti i file di codice sorgente del programma.
/define:name[;name2]
Argomenti
- name, name2
Rappresentano i nomi di uno o più simboli che si desidera definire.
Note
L'opzione /define ha lo stesso effetto dell'utilizzo di una direttiva del preprocessore #define con la differenza che l'opzione del compilatore si applica a tutti i file nel progetto. Un simbolo resta definito in un file d'origine fino a quando una direttiva #undef nel file d'origine non rimuove la definizione. Quando si utilizza l'opzione /define, una direttiva #undefin un file non ha effetto sugli altri file di codice sorgente nel progetto.
È possibile utilizzare i simboli creati mediante questa opzione con #if, #else, #elif ed #endif per effettuare la compilazione condizionale dei file di origine.
/d rappresenta la forma abbreviata di /define.
È possibile definire più simboli mediante /define utilizzando un punto e virgola (;) o una virgola (,) come separatori dei nomi di simbolo. Ad esempio:
/define:DEBUG;TUESDAY
Il compilatore C# non definisce di per sé simboli o macro utilizzabili nel codice sorgente. Tutte le definizioni dei simboli devono essere definite dall'utente.
Nota: |
---|
L'opzione C# #define non consente di assegnare un valore a un simbolo, in modo analogo a quanto si verifica in altri linguaggi, quale C++. Non è ad esempio possibile utilizzare l'opzione #define per la creazione di una macro o la definizione di una costante. Se è necessario definire una costante, utilizzare una variabile enum. Per creare una macro di stile, è possibile avvalersi delle alternative disponibili, ad esempio i generics. Poiché le macro sono notoriamente soggette a errori, C# non ne consente l'uso ma fornisce alternative più sicure. |
Per impostare l'opzione del compilatore nell'ambiente di sviluppo di Visual Studio
Aprire la pagina Proprietà del progetto.
Nella scheda Compila digitare il simbolo da definire nella casella Simboli di compilazione condizionale. Ad esempio, se si utilizza l'esempio di codice che segue, digitare xx nella casella di testo.
Per informazioni su come impostare questa opzione del compilatore a livello di codice, vedere DefineConstants.
Esempio
// preprocessor_define.cs
// compile with: /define:xx
// or uncomment the next line
// #define xx
using System;
public class Test
{
public static void Main()
{
#if (xx)
Console.WriteLine("xx defined");
#else
Console.WriteLine("xx not defined");
#endif
}
}
Vedere anche
Altre risorse
Proprietà del progetto (Visual Studio)
Cronologia delle modifiche
Data |
Cronologia |
Motivo |
---|---|---|
Luglio 2008 |
Riviste le informazioni della sezione Osservazioni per indicare che l'opzione ha effetto su tutti i file fino a quando non viene trovata una direttiva #undef. |
Correzione di errori nel contenuto. |