Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Specifica che una o più variabili locali dichiarate devono continuare a esistere e conservarne i valori più recenti dopo la chiusura della procedura in cui vengono dichiarati.
Osservazioni:
In genere, una variabile locale in una procedura smette di esistere non appena si arresta la procedura. 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 dichiarazione. È possibile usare
Static
solo nelle variabili locali. Ciò significa che il contesto di dichiarazione per unaStatic
variabile 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 utilizzare
Static
all'interno di una routine struttura.Non è possibile dedurre i tipi di dati delle
Static
variabili locali. Per altre informazioni, vedere Inferenza del tipo locale.Modificatori combinati. Non è possibile specificare
Static
insieme aReadOnly
,Shadows
oShared
nella stessa dichiarazione.
Comportamento
Quando si dichiara una variabile statica in una Shared
routine, per l'intera applicazione è disponibile una sola copia della variabile statica. Chiamare una Shared
routine 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
Nell'esempio seguente viene illustrato l'uso di Static
.
Function updateSales(ByVal thisSale As Decimal) As Decimal
Static totalSales As Decimal = 0
totalSales += thisSale
Return totalSales
End Function
La Static
variabile totalSales
viene inizializzata su 0 una sola volta. Ogni volta che si immette updateSales
, totalSales
ha ancora il valore più recente calcolato.
Il Static
modificatore può essere usato in questo contesto: