Static (Visual Basic)
Určuje, že jedna nebo více deklarovaných místních proměnných má nadále existovat a po ukončení postupu, ve kterém jsou deklarovány, zachovat jejich nejnovější hodnoty.
Poznámky
Za normálních okolností přestane místní proměnná v postupu existovat, jakmile se procedura zastaví. Statická proměnná nadále existuje a uchovává její nejnovější hodnotu. Při příštím volání kódu procedura proměnná není znovu inicializována a stále obsahuje nejnovější hodnotu, kterou jste k ní přiřadili. Statická proměnná nadále existuje po celou dobu životnosti třídy nebo modulu, ve které je definována.
Pravidla
Kontext deklarace Můžete použít
Static
pouze u místních proměnných. To znamená, že kontext deklarace proměnnéStatic
musí být procedura nebo blok v rámci procedury a nemůže se jednat o zdrojový soubor, obor názvů, třídu, strukturu nebo modul.Uvnitř procedury struktury nelze použít
Static
.Datové typy místních proměnných
Static
nelze odvodit. Další informace naleznete v tématu Odvození místního typu.Kombinované modifikátory. Nelze zadat
Static
společně sReadOnly
,Shadows
neboShared
ve stejné deklaraci.
Chování
Když v rámci procedury deklarujete statickou proměnnou Shared
, je pro celou aplikaci k dispozici pouze jedna kopie statické proměnné. Proceduru Shared
voláte pomocí názvu třídy, nikoli proměnné, která odkazuje na instanci třídy.
Když deklarujete statickou proměnnou v procedurě, která není Shared
, je pro každou instanci třídy k dispozici pouze jedna kopie proměnné. Volání nesdílené procedury pomocí proměnné, která odkazuje na konkrétní instanci třídy.
Příklad
Následující příklad ukazuje použití Static
.
Function updateSales(ByVal thisSale As Decimal) As Decimal
Static totalSales As Decimal = 0
totalSales += thisSale
Return totalSales
End Function
Proměnná Static
totalSales
se inicializuje na hodnotu 0 pouze jednou. Pokaždé, když zadáte updateSales
, totalSales
má stále nejnovější hodnotu, kterou jste pro ni vypočítali.
Static
Modifikátor lze použít v tomto kontextu: