Compilazione condizionale in Visual Basic

Nella compilazione condizionale, alcuni blocchi di codice in un programma vengono compilati in modo selettivo mentre altri vengono ignorati.

Ad esempio, è possibile scrivere istruzioni di debug che confrontano la velocità di approcci diversi alla stessa attività di programmazione oppure è possibile localizzare un'applicazione per più linguaggi. Le istruzioni di compilazione condizionale sono progettate per l'esecuzione durante la fase di compilazione, non nella fase di esecuzione.

Si indicano blocchi di codice da compilare in modo condizionale con la direttiva #If...Then...#Else. Ad esempio, per creare versioni in lingua francese e tedesca della stessa applicazione dallo stesso codice sorgente, si incorporano segmenti di codice specifici della piattaforma nelle istruzioni #If...Then usando le costanti predefinite FrenchVersion e GermanVersion. L'esempio seguente dimostra come:

#If FrenchVersion Then
   ' <code specific to the French language version>.
#ElseIf GermanVersion Then
   ' <code specific to the German language version>.
#Else
        ' <code specific to other versions>.
#End If

Se si imposta il valore della costante di compilazione condizionale FrenchVersion su True in fase di compilazione, il codice condizionale per la versione francese viene compilato. Se si imposta il valore della costante GermanVersion su True, il compilatore usa la versione tedesca. Se nessuno dei due è impostato su True, il codice nell'ultimo blocco Else viene eseguito.

Nota

Il completamento automatico non funzionerà durante la modifica del codice e l'uso delle direttive di compilazione condizionale se il codice non fa parte del ramo corrente.

Dichiarazione di costanti di compilazione condizionale

È possibile impostare costanti di compilazione condizionale in uno dei tre modi seguenti:

  • In Creazione progetti

  • Nella riga di comando quando si usa il compilatore della riga di comando

  • Nel codice

Le costanti di compilazione condizionale hanno un ambito speciale e non possono essere accessibili dal codice standard. L'ambito di una costante di compilazione condizionale dipende dalla modalità di impostazione. La tabella seguente elenca l'ambito delle costanti dichiarate usando ognuno dei tre modi indicati in precedenza.

Come viene impostata la costante Ambito della costante
Progettazione progetti Pubblica per tutti i file nel progetto
Riga di comando Pubblico per tutti i file passati al compilatore della riga di comando
Istruzione #Const nel codice Privato per il file in cui è dichiarato
Per impostare costanti in Creazione progetti
- Prima di creare il file eseguibile, impostare le costanti in Creazione progetti seguendo la procedura descritta in Gestione delle proprietà del progetto e della soluzione.
Per impostare costanti nella riga di comando
- Usare l'opzione -d per immettere le costanti di compilazione condizionale, come nell'esempio seguente:
vbc MyProj.vb /d:conFrenchVersion=–1:conANSI=0
Non è necessario uno spazio tra l'opzione -d e la prima costante. Per altre informazioni, vedere -define (Visual Basic).
Le dichiarazioni della riga di comando sostituiscono le dichiarazioni immesse in Creazione progetti, ma non le cancellano. Gli argomenti impostati in Creazione progetti rimangono attivi per le compilazioni successive.
Quando si scrivono costanti nel codice stesso, non esistono regole rigide per quanto riguarda il posizionamento, poiché il relativo ambito è l'intero modulo in cui vengono dichiarate.
Per impostare costanti nel codice
- Posizionare le costanti nel blocco di dichiarazione del modulo in cui vengono usate. In questo modo è possibile mantenere il codice organizzato e più facile da leggere.
Posizione Descrizione
Struttura del programma e convenzioni di scrittura del codice Fornisce suggerimenti per semplificare la lettura e la manutenzione del codice.

Riferimento

Direttiva #Const

Direttive #If...Then...#Else

-define (Visual Basic)