Feltételes fordítás a Visual Basicben
A feltételes fordítás során a program egyes kódblokkjainak fordítása szelektíven, másokat figyelmen kívül hagyva.
Előfordulhat például, hogy olyan hibakeresési utasításokat szeretne írni, amelyek összehasonlítják ugyanahhoz a programozási feladathoz képest a különböző megközelítések sebességét, vagy több nyelvre szeretné honosítani az alkalmazásokat. A feltételes fordítási utasítások úgy vannak kialakítva, hogy a fordítási idő alatt fussanak, nem pedig futásidőben.
Az irányelvvel #If...Then...#Else
feltételesen lefordítandó kódblokkokat jelöli. Ha például ugyanazon alkalmazás francia és német nyelvű verzióit ugyanabból a forráskódból szeretné létrehozni, platformspecifikus kódszegmenseket #If...Then
ágyazhat be az előre definiált állandók FrenchVersion
és GermanVersion
. Az alábbi példa bemutatja, hogyan:
#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
Ha a FrenchVersion
feltételes fordítási állandó értékét fordítási időpontra True
állítja, a rendszer lefordítja a francia verzió feltételes kódját. Ha az állandó True
értékét állítja GermanVersion
be, a fordító a német verziót használja. Ha egyik sincs beállítva True
, az utolsó Else
blokk kódja fut.
Feljegyzés
Az automatikus kiegészítés nem fog működni a kód szerkesztésekor és a feltételes fordítási irányelvek használatakor, ha a kód nem része az aktuális ágnak.
Feltételes fordítási állandók deklarálása
A feltételes fordítási állandókat háromféleképpen állíthatja be:
A Project Tervező
A parancssori fordító használatakor
A kódban
A feltételes fordítási állandók speciális hatókörrel rendelkeznek, és nem érhetők el a standard kódból. A feltételes fordítási állandó hatóköre a beállítás módjától függ. Az alábbi táblázat a fent említett három módszer mindegyikével deklarált állandók hatókörét sorolja fel.
Az állandó beállítása | Az állandó hatóköre |
---|---|
Project Tervező | Nyilvános a projekt összes fájlja számára |
Parancssor | A parancssori fordítónak átadott összes fájl nyilvános |
#Const utasítás kódban |
Privát ahhoz a fájlhoz, amelyben deklarálva van |
Állandók beállítása a Project Tervező |
---|
– A végrehajtható fájl létrehozása előtt állítsa be az állandókat a Project Tervező a Projekt- és megoldástulajdonságok kezelése című témakörben ismertetett lépések végrehajtásával. |
Állandók beállítása a parancssorban |
---|
- A -d kapcsolóval feltételes fordítási állandókat adhat meg, ahogyan az alábbi példában is látható:vbc MyProj.vb /d:conFrenchVersion=–1:conANSI=0 Nincs szükség szóközre a -d kapcsoló és az első állandó között. További információ: -define (Visual Basic). A parancssori deklarációk felülírják a Project Tervező beírt deklarációkat, de nem törlik őket. A Project Tervező argumentumai továbbra is érvényben maradnak a későbbi fordítások esetében. Amikor állandókat ír a kódba, nincsenek szigorú szabályok az elhelyezésükre, mivel a hatókörük az egész modul, amelyben deklarálva vannak. |
Állandók beállítása a kódban |
---|
- Helyezze az állandókat annak a modulnak a deklarációs blokkjára, amelyben azokat használják. Ez segít a kód rendszerezésében és könnyebb olvashatóságában. |
Kapcsolódó témakörök
Cím | Leírás |
---|---|
Programstruktúra és kódkonvenciók | Javaslatokat nyújt a kód egyszerű olvashatóságához és karbantartásához. |
Referencia
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: