Statikus (Visual Basic)

Meghatározza, hogy egy vagy több deklarált helyi változó továbbra is létezni fog, és megtartsa a legújabb értékeket a deklarálási eljárás befejezése után.

Megjegyzések

Az eljárás helyi változója általában az eljárás leállása után megszűnik. A statikus változók továbbra is léteznek, és megtartják a legutóbbi értékét. Amikor a kód legközelebb meghívja az eljárást, a változó nem lesz újrainicializálva, és továbbra is a hozzá rendelt legújabb értéket tartalmazza. A statikus változó továbbra is létezik annak az osztálynak vagy modulnak az élettartama alatt, amelyben definiálva van.

Szabályok

  • Deklarációs környezet. Csak helyi változókon használható Static . Ez azt jelenti, hogy egy Static változó deklarációs környezetének eljárásnak vagy eljárásblokknak kell lennie, és nem lehet forrásfájl, névtér, osztály, struktúra vagy modul.

    Szerkezeti eljáráson belül nem használható Static .

  • A helyi változók adattípusai Static nem következtethetők. További információ: Helyi típus következtetése.

  • Kombinált módosítók. A deklarációval ShadowsReadOnlyegyütt vagy Shared ugyanabban a deklarációban nem adható megStatic.

Működés

Ha egy eljárásban statikus változót Shared deklarál, a statikus változónak csak egy példánya érhető el a teljes alkalmazás számára. Az eljárást az osztálynév használatával hívhatja meg Shared , nem pedig egy olyan változót, amely az osztály egy példányára mutat.

Ha nem egy eljárásban deklarál egy statikus változót Shared, az osztály minden példányához csak a változó egy példánya érhető el. Nem megosztott eljárást hívhat meg egy olyan változó használatával, amely az osztály egy adott példányára mutat.

Példa

Az alábbi példa bemutatja a .Static

Function updateSales(ByVal thisSale As Decimal) As Decimal
    Static totalSales As Decimal = 0
    totalSales += thisSale
    Return totalSales
End Function

A Static változó totalSales inicializálása csak egyszer történik 0 értékre. Minden alkalommal, amikor beírja updateSales, totalSales továbbra is a legutóbb kiszámított értékkel rendelkezik.

A Static módosító ebben a környezetben használható:

Halvány utasítás

Lásd még