Static (Visual Basic)
Určuje, že jedna nebo více deklarovaných místních proměnných budou existovat a po ukončení procedury, ve které jsou deklarovány, zachovány jejich nejnovější hodnoty.
Poznámky
Za normálních okolností místní proměnná v postupu přestane existovat, jakmile se tento postup zastaví. Statická proměnná stále existuje a uchovává její nejnovější hodnotu. Když váš kód příště zavolá proceduru, proměnná se znovu neinicializovala 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 pouze
Staticu místních proměnných. To znamená, že kontext deklarace pro proměnnou musí být procedurou nebo blokem v proceduře a nemůže to být zdrojový soubor, oborStaticnázvů, třída, struktura nebo modul.Uvnitř
Staticprocedury struktury nelze použít .Datové typy místních
Staticproměnných nelze odvodit. Další informace najdete v tématu Odvození místního typu.Kombinované modifikátory. Nelze zadat
Staticspolečně s , nebo ve stejnéReadOnlyShadowsShareddeklaraci.
Chování
Když deklarujete statickou proměnnou v proceduře, je pro celou aplikaci k dispozici pouze Shared jedna kopie statické proměnné. Proceduru voláte pomocí názvu třídy, nikoli proměnné, která odkazuje Shared na instanci třídy.
Když deklarujete statickou proměnnou v proceduře, která není , je pro každou instanci třídy k dispozici Shared pouze jedna kopie proměnné. Nes sdílené procedury voláte 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 je inicializována na hodnotu 0 pouze jednou. Pokaždé, když zadáte , bude mít stále updateSales totalSales nejnovější hodnotu, kterou jste pro něj vypočítali.
StaticModifikátor lze použít v tomto kontextu: