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 Shared Static , a ReadOnly . 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 Shadows ani žá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 Const můž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ý typ initializer . Pokud zadáte i , datový typ musí datatype initializer být initializer převoditelný na datatype . Pokud ani datatype initializer není 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, As kterou deklarujete. Pomocí společné klauzule však nelze deklarovat několik konstant stejného As typu.

  • Inicializace. Je nutné inicializovat hodnotu každé konstanty v constantlist . Slouží k initializer poskytnutí 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 initializer funkce. Můžete však použít klíčová slova převodu, například CByte a CShort . Můžete ji také AscW použít, pokud ji voláte s konstantou nebo argumentem , protože to String lze vyhodnotit v době Char kompilace.

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 .

Viz také