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 Static u 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, obor Static názvů, třída, struktura nebo modul.

    Uvnitř Static procedury struktury nelze použít .

  • Datové typy místních Static proměnných nelze odvodit. Další informace najdete v tématu Odvození místního typu.

  • Kombinované modifikátory. Nelze zadat Static společně s , nebo ve stejné ReadOnly Shadows Shared deklaraci.

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:

Dim – příkaz

Viz také