Villkorsstyrd kompilering i Visual Basic
I villkorlig kompilering kompileras vissa kodblock i ett program selektivt medan andra ignoreras.
Du kanske till exempel vill skriva felsökningsinstruktioner som jämför hastigheten för olika metoder med samma programmeringsuppgift, eller så kanske du vill lokalisera ett program för flera språk. Villkorsstyrda kompileringsuttryck är utformade för att köras under kompileringstiden, inte vid körning.
Du anger kodblock som ska kompileras villkorligt med #If...Then...#Else
direktivet. Om du till exempel vill skapa franska och tyska versioner av samma program från samma källkod bäddar du in plattformsspecifika kodsegment i #If...Then
instruktioner med hjälp av fördefinierade konstanter FrenchVersion
och GermanVersion
. Följande exempel visar hur:
#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
Om du anger värdet för konstanten för villkorlig FrenchVersion
kompilering till True
vid kompileringstillfället kompileras den villkorsstyrda koden för den franska versionen. Om du anger värdet för konstanten GermanVersion
till True
använder kompilatorn den tyska versionen. Om inget av dem är inställt på True
körs koden i det sista Else
blocket.
Kommentar
Automatisk komplettering fungerar inte när du redigerar kod och använder villkorliga kompileringsdirektiv om koden inte ingår i den aktuella grenen.
Deklarera konstanter för villkorlig kompilering
Du kan ange konstanter för villkorlig kompilering på något av tre sätt:
I projektdesignern
På kommandoraden när du använder kommandoradskompilatorn
I koden
Konstanter för villkorlig kompilering har ett särskilt omfång och kan inte nås från standardkoden. Omfånget för en konstant för villkorsstyrd kompilering beror på hur den har angetts. I följande tabell visas omfånget för konstanter som deklarerats med var och en av de tre sätten som nämns ovan.
Så här konfigureras konstanten | Omfång för konstant |
---|---|
Projektdesigner | Offentligt för alla filer i projektet |
Kommandorad | Offentlig för alla filer som skickas till kommandoradskompilatorn |
#Const -instruktion i kod |
Privat för filen där den deklareras |
Ange konstanter i Projektdesignern |
---|
– Innan du skapar den körbara filen anger du konstanter i Projektdesignern genom att följa stegen i Hantera projekt- och lösningsegenskaper. |
Ange konstanter på kommandoraden |
---|
- Använd växeln -d för att ange konstanter för villkorlig kompilering, som i följande exempel:vbc MyProj.vb /d:conFrenchVersion=–1:conANSI=0 Inget utrymme krävs mellan växeln -d och den första konstanten. Mer information finns i -define (Visual Basic). Kommandoradsdeklarationer åsidosätter deklarationer som anges i Projektdesignern, men raderar dem inte. Argument som anges i Project Designer gäller fortfarande för efterföljande kompileringar. När du skriver konstanter i själva koden finns det inga strikta regler för deras placering, eftersom deras omfång är hela modulen där de deklareras. |
Ange konstanter i koden |
---|
- Placera konstanterna i deklarationsblocket i modulen där de används. Detta hjälper till att hålla koden organiserad och enklare att läsa. |
Närliggande information
Title | Description |
---|---|
Programstruktur och kodkonventioner | Innehåller förslag för att göra koden enkel att läsa och underhålla. |