Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Declareert en definieert een of meer constanten.
Syntaxis
[ <attributelist> ] [ accessmodifier ] [ Shadows ]
Const constantlist
Onderdelen
attributelist
Facultatief. Lijst met kenmerken die van toepassing zijn op alle constanten die in deze instructie zijn gedeclareerd. Zie Lijst met kenmerken tussen punthaken ('<' en ''>).
accessmodifier
Facultatief. Gebruik deze optie om op te geven welke code toegang heeft tot deze constanten. Kan openbaar, beveiligd, vriend, beveiligde vriend, privé of privé beveiligd zijn.
Shadows
Facultatief. Gebruik dit om een programmeerelement opnieuw te declareren en te verbergen in een basisklasse. Zie schaduwen.
constantlist
Verplicht. Lijst met constanten die in deze instructie worden gedeclareerd.
constant
[ ,
constant
... ]
Elk constant heeft de volgende syntaxis en onderdelen:
constantname
[ As
datatype
] =
initializer
| Onderdeel | Beschrijving |
|---|---|
constantname |
Verplicht. Naam van de constante. Zie Gedeclareerde elementnamen. |
datatype |
Vereist als Option Strict dat het is On. Gegevenstype van de constante. |
initializer |
Verplicht. Expressie die wordt geëvalueerd tijdens het compileren en toegewezen aan de constante. |
Opmerkingen
Als u een waarde hebt die nooit verandert in uw toepassing, kunt u een benoemde constante definiëren en deze gebruiken in plaats van een letterlijke waarde. Een naam is gemakkelijker te onthouden dan een waarde. U kunt de constante slechts eenmaal definiëren en op veel plaatsen in uw code gebruiken. Als u in een latere versie de waarde opnieuw moet definiëren, is de Const instructie de enige plaats waar u een wijziging moet aanbrengen.
U kunt alleen op module- of procedureniveau gebruiken Const . Dit betekent dat de declaratiecontext voor een variabele een klasse, structuur, module, procedure of blok moet zijn en geen bronbestand, naamruimte of interface kan zijn. Zie Declaratiecontexten en standaardtoegangsniveaus voor meer informatie.
Lokale constanten (binnen een procedure) zijn standaard ingesteld op openbare toegang en u kunt geen toegangsaanpassingen gebruiken. Klasse- en modulelidconstanten (buiten elke procedure) worden standaard ingesteld op privétoegang en structuurlidconstanten zijn standaard ingesteld op openbare toegang. U kunt hun toegangsniveaus aanpassen met de toegangsaanpassingen.
Reglement
Declaratiecontext. Een constante die buiten elke procedure op moduleniveau is gedeclareerd, is een lidconstante; het is lid van de klasse, structuur of module die deze declareert.
Een constante die op procedureniveau wordt gedeclareerd, is een lokale constante; het is lokaal voor de procedure of het blok dat deze declareert.
Kenmerken. U kunt kenmerken alleen toepassen op lidconstanten, niet op lokale constanten. Een kenmerk draagt informatie bij aan de metagegevens van de assembly, wat niet zinvol is voor tijdelijke opslag, zoals lokale constanten.
Modifiers. Standaard zijn
Sharedalle constanten ,StaticenReadOnly. U kunt geen van deze trefwoorden gebruiken bij het declareren van een constante.Op procedureniveau kunt u geen toegangsaanpassingen gebruiken
Shadowsom lokale constanten te declareren.Meerdere constanten. U kunt verschillende constanten declareren in dezelfde declaratie-instructie, waarbij u het
constantnamegedeelte voor elke declaratie opgeeft. Meerdere constanten worden gescheiden door komma's.
Regels voor gegevenstypen
Gegevenstypen. De
Constinstructie kan het gegevenstype van een variabele declareren. U kunt elk gegevenstype of de naam van een opsomming opgeven.Standaardtype. Als u dit niet opgeeft
datatype, neemt de constante het gegevenstype .initializerAls u beidedatatypeopgeeft eninitializer, het gegevenstype vaninitializermoet converteerbaar zijn naardatatype. Als geen vaninitializerbeide aanwezigdatatypeis, wordt het gegevenstype standaard ingesteld opObject.Verschillende typen. U kunt verschillende gegevenstypen voor verschillende constanten opgeven met behulp van een afzonderlijke
Ascomponent voor elke variabele die u declareert. U kunt echter niet meerdere constanten van hetzelfde type declareren met behulp van een gemeenschappelijkeAscomponent.Initialisatie. U moet de waarde van elke constante in
constantlistinitialiseren. U gebruiktinitializerom een expressie op te geven die aan de constante moet worden toegewezen. De expressie kan elke combinatie zijn van letterlijke elementen, andere constanten die al zijn gedefinieerd en opsommingsleden die al zijn gedefinieerd. U kunt rekenkundige en logische operatoren gebruiken om dergelijke elementen te combineren.U kunt geen variabelen of functies gebruiken in
initializer. U kunt echter conversietrefwoorden zoalsCByteenCShort. U kunt het ook gebruikenAscWals u het aanroept met een constanteStringofCharargument, omdat dat tijdens het compileren kan worden geëvalueerd.
Gedrag
Bereik Lokale constanten zijn alleen toegankelijk vanuit hun procedure of blok. Lidconstanten zijn overal binnen hun klasse, structuur of module toegankelijk.
Kwalificatie. Code buiten een klasse, structuur of module moet de naam van een lidconstante kwalificeren met de naam van die klasse, structuur of module. Code buiten een procedure of blok kan niet verwijzen naar lokale constanten binnen die procedure of blok.
Voorbeeld 1
In het volgende voorbeeld wordt de Const instructie gebruikt om constanten te declareren voor gebruik in plaats van letterlijke waarden.
' The following statements declare constants.
Const maximum As Long = 459
Public Const helpString As String = "HELP"
Private Const startValue As Integer = 5
Voorbeeld 2
Als u een constante definieert met het gegevenstypeObject, geeft de Visual Basic-compiler het type , in plaats van initializerObject. In het volgende voorbeeld heeft de constante naturalLogBase het runtimetype Decimal.
Const naturalLogBase As Object = CDec(2.7182818284)
MsgBox("Run-time type of constant naturalLogBase is " &
naturalLogBase.GetType.ToString())
In het voorgaande voorbeeld wordt de ToString methode gebruikt voor het Type object dat wordt geretourneerd door de GetType-operator, omdat Type deze niet kan worden geconverteerd naar String .CStr