Share via


/define (opzioni del compilatore C#)

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 versione abbreviata di /define.

È possibile definire più simboli mediante /define utilizzando un punto e virgola (;) o una virgola (,) come separatori dei nomi di simbolo. Di seguito è riportato un 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

  1. Aprire la pagina Proprietà del progetto.

  2. 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

Opzioni del compilatore C#

Proprietà del progetto (Visual Studio)