Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Deklaruje a definuje jednu nebo více konstant.
Syntaxe
[ <attributelist> ] [ accessmodifier ] [ Shadows ]
Const constantlist
Součástky
attributelist
Volitelný. Seznam atributů, které se vztahují na všechny konstanty deklarované v tomto příkazu. Viz seznam atributů v hranatých závorkách ("<" a ">").
accessmodifier
Volitelný. Tento kód slouží k určení kódu, který má k těmto konstantám přístup. Může to být veřejná, chráněná, přátelská, chráněná,soukromá nebo soukromá ochrana.
Shadows
Volitelný. Tuto možnost použijte k redeklarování a skrytí programovacího prvku v základní třídě. Podívejte se na stíny.
constantlist
Povinné. Seznam konstant deklarovaných v tomto příkazu
constant
[ ,
constant
... ]
Každá z nich constant má následující syntaxi a části:
constantname
[ As
datatype
] =
initializer
| Část | Popis |
|---|---|
constantname |
Povinné. Název konstanty. Viz Deklarované názvy elementů. |
datatype |
Vyžaduje se, pokud Option Strict je On. Datový typ konstanty. |
initializer |
Povinné. Výraz vyhodnocený v době kompilace a přiřazený konstantě. |
Poznámky
Pokud máte hodnotu, která se v aplikaci nikdy nezmění, můžete definovat pojmenovanou konstantu a použít ji místo literálové hodnoty. Název je snadněji zapamatovatelné než hodnota. Konstantu můžete definovat jen jednou a použít ji na mnoha místech v kódu. Pokud v novější verzi potřebujete hodnotu předefinovat, je příkaz jediným místem, Const kde je potřeba provést změnu.
Můžete použít Const pouze na úrovni modulu nebo procedury. To znamená, že kontext deklarace proměnné musí být třída, struktura, modul, procedura nebo blok a nesmí být zdrojovým souborem, oborem názvů nebo rozhraním. Další informace naleznete v tématu Kontexty deklarace a výchozí úrovně přístupu.
Místní konstanty (uvnitř procedury) jsou výchozí pro veřejný přístup a v nich nemůžete použít žádné modifikátory přístupu. Konstanty členů třídy a modulu (mimo jakoukoli proceduru) jsou výchozí pro privátní přístup a konstanty členů struktury jsou výchozí pro veřejný přístup. Jejich úrovně přístupu můžete upravit pomocí modifikátorů přístupu.
Pravidla
Kontext deklarace Konstanta deklarovaná na úrovni modulu mimo jakoukoli proceduru je členová konstanta; je členem třídy, struktury nebo modulu, který ji deklaruje.
Konstanta deklarovaná na úrovni procedury je místní konstanta; je místní pro postup nebo blok, který ho deklaruje.
Atributy. Atributy můžete použít pouze na členské konstanty, ne na místní konstanty. Atribut přispívá k informacím o metadatech sestavení, což není smysluplné pro dočasné úložiště, jako jsou místní konstanty.
Modifikátory. Ve výchozím nastavení jsou
Sharedvšechny konstanty ,StaticaReadOnly. Při deklarování konstanty nelze použít žádná z těchto klíčových slov.Na úrovni procedury nemůžete použít
Shadowsmodifikátory přístupu ani deklarovat místní konstanty.Více konstant. Ve stejném příkazu deklarace můžete deklarovat několik konstant, které určují část
constantnamepro každou z nich. Více konstant je odděleno čárkami.
Pravidla datových typů
Datové typy. Příkaz
Constmůže deklarovat datový typ proměnné. Můžete zadat libovolný datový typ nebo název výčtu.Výchozí typ Pokud nezadáte
datatype, konstanta přebírá datový typinitializer. Pokud zadáte obadatatypeainitializer, datový typinitializermusí být konvertibilní nadatatype. Pokud anidatatypeinitializernení k dispozici, datový typ je výchozí hodnotouObject.Různé typy. Pro různé konstanty můžete zadat různé datové typy pomocí samostatné
Asklauzule pro každou deklarované proměnné. Pomocí společnéAsklauzule však nelze deklarovat několik konstant, které mají být stejného typu.Inicializace. Je nutné inicializovat hodnotu každé konstanty v
constantlist. Sloužíinitializerk zadání výrazu, který se má přiřadit konstantě. Výraz může být libovolná kombinace literálů, dalších konstant, které jsou již definovány, a členy výčtu, které jsou již definovány. Ke kombinování těchto prvků můžete použít aritmetické a logické operátory.Nelze použít proměnné nebo funkce v
initializer. Můžete však použít klíčová slova převodu, napříkladCByteaCShort. Můžete také použítAscW, pokud ji zavoláte konstantou neboCharargumentemString, protože je možné ji vyhodnotit v době kompilace.
Chování
Rozsah. Místní konstanty jsou přístupné pouze z jejich procedury nebo bloku. Konstanty členů jsou přístupné odkudkoliv v rámci jejich třídy, struktury nebo modulu.
Kvalifikace. Kód mimo třídu, strukturu nebo modul musí kvalifikovat název konstanty člena s názvem této třídy, struktury nebo modulu. Kód mimo proceduru nebo blok nemůže odkazovat na žádné místní konstanty v rámci této procedury nebo bloku.
Příklad 1
Následující příklad používá příkaz Const k deklaraci konstant pro použití místo hodnot literálu.
' The following statements declare constants.
Const maximum As Long = 459
Public Const helpString As String = "HELP"
Private Const startValue As Integer = 5
Příklad 2
Pokud definujete konstantu s datovým typem Object, kompilátor jazyka Visual Basic mu dává typ initializer, nikoli Object. V následujícím příkladu má konstanta naturalLogBase typ Decimalruntime .
Const naturalLogBase As Object = CDec(2.7182818284)
MsgBox("Run-time type of constant naturalLogBase is " &
naturalLogBase.GetType.ToString())
Předchozí příklad používá metodu ToStringType u objektu vráceného GetType Operator, protože Type nelze převést na String použití CStr.