Compilazione condizionale in Visual Basic

Nella compilazione condizionale, determinati 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 con la stessa attività di programmazione oppure localizzare un'applicazione per più linguaggi. Le istruzioni di compilazione condizionale sono progettate per l'esecuzione in fase di compilazione, non in fase di esecuzione.

Si denotano blocchi di codice da compilare in modo condizionale con la #If...Then...#Else direttiva . Ad esempio, per creare versioni in francese e tedesco della stessa applicazione dallo stesso codice sorgente, incorporare segmenti di codice specifici della piattaforma nelle istruzioni usando le costanti predefinite #If...Then FrenchVersion e GermanVersion . L'esempio seguente illustra 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 su in fase di compilazione, viene compilato il codice condizionale per FrenchVersion True la versione francese. Se si imposta il valore della costante GermanVersion su True , il compilatore usa la versione in tedesco. Se nessuno dei due è impostato True su , il codice nell'ultimo blocco viene Else eseguito.

Nota

Il completamento automatico non funzionerà quando si modifica il codice e si usano direttive di compilazione condizionale se il codice non fa parte del ramo corrente.

Dichiarazione di costanti di compilazione condizionale

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

  • Progettazione Project

  • Dalla riga di comando quando si usa il compilatore da riga di comando

  • Nel codice

Le costanti di compilazione condizionale hanno un ambito speciale e non sono accessibili dal codice standard. L'ambito di una costante di compilazione condizionale dipende dal modo in cui viene impostata. 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
Project Designer Pubblico a tutti i file nel progetto
Riga di comando Pubblico a tutti i file passati al compilatore della riga di comando
#Const istruzione nel codice Privato per il file in cui è dichiarato
Per impostare costanti in progettazione Project
- Prima di creare il file eseguibile, impostare le costanti in Project Designer seguendo i passaggi descritti in Gestione delle Project e delle proprietà della soluzione.
Per impostare le costanti dalla 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 spazio tra l'opzione -d e la prima costante. Per altre informazioni, vedere -define (Visual Basic).
Le dichiarazioni della riga di comando eseguono l'override delle dichiarazioni immesse in Progettazione Project , ma non le cancellano. Gli argomenti impostati in Project finestra di progettazione rimangono validi per le compilazioni successive.
Quando si scrivono costanti nel codice stesso, non esistono regole rigorose per la loro posizione, perché il relativo ambito è l'intero modulo in cui vengono dichiarate.
Per impostare le costanti nel codice
- Inserire le costanti nel blocco di dichiarazione del modulo in cui vengono usate. Ciò consente di mantenere il codice organizzato e più facile da leggere.
Titolo Descrizione
Struttura del programma e convenzioni del codice Fornisce suggerimenti per rendere il codice facile da leggere e gestire.

Riferimento

Direttiva #Const

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

-define (Visual Basic)