Const – příkaz (Visual Basic)
Deklaruje a definuje jednu nebo více konstant.
Syntax
[ <attributelist> ] [ accessmodifier ] [ Shadows ]
Const constantlist
Součásti
attributelist
Nepovinný parametr. 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
Nepovinný parametr. Pomocí této možnosti můžete určit, jaký kód má k těmto konstantám přístup. Může to být veřejná, chráněná, přátelná, chráněná přátelka, soukrománebo soukromá chráněná.
Shadows
Nepovinný parametr. Tuto možnost použijte k nové deklaraci a skrytí programovacího prvku v základní třídě. Viz Stíny.
constantlist
Povinná hodnota. Seznam konstant deklarovaných v tomto příkazu.
constant [ , constant ... ]
Každá z nich má následující syntaxi a constant části:
constantname [ As datatype ] = initializer
| Část | Popis |
|---|---|
constantname |
Povinná hodnota. Název konstanty. Viz Deklarované názvy elementů. |
datatype |
Vyžaduje se, Option Strict pokud je On . Datový typ konstanty. |
initializer |
Povinná hodnota. Výraz, který je vyhodnocen v době kompilace a přiřazen konstantě. |
Poznámky
Pokud máte hodnotu, která se v aplikaci nikdy nemění, můžete definovat pojmenovanou konstantu a použít ji místo literálové hodnoty. Název se snadněji pamatuje 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, příkaz je jediným místem, kde Const musíte provést změnu.
Můžete použít Const pouze na úrovni modulu nebo procedury. To znamená, že kontext deklarace pro proměnnou musí být třída, struktura, modul, procedura nebo blok a nemůže být zdrojovým souborem, oborem názvů nebo rozhraním. Další informace najdete v tématu Kontexty deklarace a Výchozí úrovně přístupu.
Místní konstanty (uvnitř procedury) jsou ve výchozím nastavení veřejné a nelze pro ně použít žádné modifikátory přístupu. Konstanty členů třídy a modulu (mimo libovolnou proceduru) mají ve výchozím nastavení soukromý přístup a konstanty členů struktury jsou ve výchozím nastavení veřejné. Jejich úrovně přístupu můžete upravit pomocí modifikátorů přístupu.
Pravidla
Kontext deklarace. Konstanta deklarovaná na úrovni modulu mimo libovolnou proceduru je členské konstanty; je členem třídy, struktury nebo modulu, který ji deklaruje.
Konstanta deklarovaná na úrovni procedury je místní konstanta; je místní pro proceduru nebo blok, který ji deklaruje.
Atributy. Atributy lze použít pouze na konstanty členů, nikoli na místní konstanty. Atribut přispívá informace do metadat sestavení, což není smysluplné pro dočasné úložiště, jako jsou místní konstanty.
Modifikátory. Ve výchozím nastavení jsou všechny konstanty
SharedStatic, aReadOnly. Při deklarování konstanty nelze použít žádná z těchto klíčových slov.Na úrovni procedury nelze k deklaraci místních konstant použít modifikátory přístupu
Shadowsani žádné modifikátory přístupu.Více konstant. Můžete deklarovat několik konstant ve stejném příkazu deklarace a zadat
constantnamečást pro 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řevezme datový typinitializer. Pokud zadáte i , datový typ musídatatypeinitializerbýtinitializerpřevoditelný nadatatype. Pokud anidatatypeinitializernení k dispozici, datový typ je ve výchozím nastaveníObject.Různé typy. Různé datové typy pro různé konstanty můžete zadat pomocí samostatné klauzule pro každou proměnnou,
Askterou deklarujete. Pomocí společné klauzule však nelze deklarovat několik konstant stejnéhoAstypu.Inicializace. Je nutné inicializovat hodnotu každé konstanty v
constantlist. Slouží kinitializerposkytnutí výrazu, který má být přiřazen konstantě. Výrazem může být libovolná kombinace literálů, jiných konstant, které jsou již definovány, a členy výčtu, které jsou již definovány. Tyto prvky můžete kombinovat pomocí aritmetických a logických operátorů.V nástroji nemůžete používat proměnné ani
initializerfunkce. Můžete však použít klíčová slova převodu, napříkladCByteaCShort. Můžete ji takéAscWpoužít, pokud ji voláte s konstantou nebo argumentem , protože toStringlze vyhodnotit v doběCharkompilace.
Chování
Rozsah. Místní konstanty jsou přístupné pouze v rámci procedury nebo bloku. Konstanty členů jsou přístupné odkudkoli v rámci své třídy, struktury nebo modulu.
Kvalifikace. Kód mimo třídu, strukturu nebo modul musí kvalifikovat název členské konstanty 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álů.
' 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 , Visual Basic kompilátor předá typ Object initializer , místo Object . V následujícím příkladu má naturalLogBase konstanta typ run-time Decimal .
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 pro objekt vrácený operátorem ToString Type GetType, protože Type nelze převést na String pomocí CStr .