Statisch (Visual Basic)
Hiermee geeft u op dat een of meer gedeclareerde lokale variabelen blijven bestaan en de meest recente waarden behouden na beëindiging van de procedure waarin ze worden gedeclareerd.
Opmerkingen
Normaal gesproken bestaat een lokale variabele in een procedure niet meer zodra de procedure stopt. Een statische variabele blijft bestaan en behoudt de meest recente waarde. De volgende keer dat de code de procedure aanroept, wordt de variabele niet opnieuw geïnitialiseerd en bevat deze nog steeds de meest recente waarde die u eraan hebt toegewezen. Er blijft een statische variabele bestaan voor de levensduur van de klasse of module waarin deze is gedefinieerd.
Regels
Declaratiecontext. U kunt alleen lokale variabelen gebruiken
Static
. Dit betekent dat de declaratiecontext voor eenStatic
variabele een procedure of een blok in een procedure moet zijn en dat het geen bronbestand, naamruimte, klasse, structuur of module kan zijn.U kunt niet binnen een structuurprocedure gebruiken
Static
.De gegevenstypen van
Static
lokale variabelen kunnen niet worden afgeleid. Zie Deductie van lokaal type voor meer informatie.Gecombineerde modifiers. U kunt niet samen met
ReadOnly
,Shadows
ofShared
in dezelfde declaratie opgevenStatic
.
Gedrag
Wanneer u een statische variabele in een Shared
procedure declareert, is er slechts één kopie van de statische variabele beschikbaar voor de hele toepassing. U roept een Shared
procedure aan met behulp van de klassenaam, niet een variabele die verwijst naar een exemplaar van de klasse.
Wanneer u een statische variabele declareert in een procedure die niet Shared
is, is er slechts één kopie van de variabele beschikbaar voor elk exemplaar van de klasse. U roept een niet-gedeelde procedure aan met behulp van een variabele die verwijst naar een specifiek exemplaar van de klasse.
Opmerking
In het volgende voorbeeld ziet u het gebruik van Static
.
Function updateSales(ByVal thisSale As Decimal) As Decimal
Static totalSales As Decimal = 0
totalSales += thisSale
Return totalSales
End Function
De Static
variabele totalSales
wordt slechts één keer geïnitialiseerd tot 0. Telkens wanneer u invoert updateSales
, totalSales
heeft u nog steeds de meest recente waarde die u hiervoor hebt berekend.
De Static
wijzigingsfunctie kan in deze context worden gebruikt: