Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
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.
Reglement
Declaratiecontext. U kunt alleen lokale variabelen gebruiken
Static. Dit betekent dat de declaratiecontext voor eenStaticvariabele 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
Staticlokale variabelen kunnen niet worden afgeleid. Zie Inferentie van lokaal type voor meer informatie.Gecombineerde modifiers. U kunt niet samen met
ReadOnly,ShadowsofSharedin 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 Sharedis, 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.
Voorbeeld
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: