Static (Visual Basic)
Specifica che una o più variabili locali dichiarate devono continuare a esistere e di conservarne i valori più recenti dopo la chiusura della procedura in cui vengono dichiarate.
Osservazioni:
In genere, una variabile locale in una routine smette di esistere non appena si arresta la routine. Una variabile statica continua a esistere e mantiene il valore più recente. La volta successiva che il codice chiama la routine, la variabile non viene reinizializzata e contiene ancora il valore più recente assegnato. Una variabile statica continua a esistere per la durata della classe o del modulo in cui è definita.
Regole
Contesto della dichiarazione. È possibile usare
Static
solo nelle variabili locali. Ciò significa che il contesto di dichiarazione per una variabileStatic
deve essere una routine o un blocco in una routine e non può essere un file di origine, spazio dei nomi, classe, struttura o modulo.Non è possibile usare
Static
all'interno di una routine struttura.Non è possibile dedurre i tipi di dati delle variabili locali
Static
. Per altre informazioni, vedere Inferenza del tipo di variabile locale.Modificatori combinati. Non è possibile specificare
Static
insieme aReadOnly
,Shadows
oShared
nella stessa dichiarazione.
Comportamento
Quando si dichiara una variabile statica in una routine Shared
, per l'intera applicazione è disponibile una sola copia della variabile statica. Chiamare una routine Shared
usando il nome della classe, non una variabile che punta a un'istanza della classe.
Quando si dichiara una variabile statica in una routine che non è Shared
, per ogni istanza della classe è disponibile una sola copia della variabile. Per chiamare una routine non condivisa, usare una variabile che punta a un'istanza specifica della classe.
Esempio
L'esempio seguente illustra l'uso di Static
.
Function updateSales(ByVal thisSale As Decimal) As Decimal
Static totalSales As Decimal = 0
totalSales += thisSale
Return totalSales
End Function
La variabile Static
totalSales
viene inizializzata su 0 una sola volta. Ogni volta che si immette updateSales
, totalSales
ha ancora il valore più recente calcolato.
Il modificatore Static
può essere usato in questo contesto: