Handleiding: Een structuur declareren (Visual Basic)
U begint met een structuurdeclaratie met de Structuurinstructieen u beëindigt deze met de End Structure
-instructie. Tussen deze twee instructies moet u ten minste één elementdeclareren. De elementen kunnen van elk gegevenstype zijn, maar ten minste één moet een niet-gedeelde variabele of een niet-gedeelde, niet-aangepaste gebeurtenis zijn.
U kunt geen van de structuurelementen in de structuurdeclaratie initialiseren. Wanneer u een variabele declareert als een structuurtype, wijst u waarden toe aan de elementen door deze te openen via de variabele.
Zie Structuren en klassenvoor een bespreking van de verschillen tussen structuren en klassen.
Overweeg voor demonstratiedoeleinden een situatie waarin u de naam, telefoonuitbreiding en salaris van een werknemer wilt bijhouden. Met een structuur kunt u dit in één variabele doen.
Een structuur declareren
Maak de begin- en eindverklaringen voor de structuur.
U kunt het toegangsniveau van een structuur opgeven met behulp van het openbare, beschermde, vriendelijke, of privé trefwoord, of u kunt het standaard laten
Public
.Private Structure employee End Structure
Voeg elementen toe aan het lichaam van de structuur.
Een structuur moet ten minste één element hebben. U moet elk element declareren en er een toegangsniveau voor opgeven. Als u de Dim-instructie zonder trefwoorden gebruikt, wordt de toegankelijkheid standaard ingesteld op
Public
.Private Structure employee Public givenName As String Public familyName As String Public phoneExtension As Long Private salary As Decimal Public Sub giveRaise(raise As Double) salary *= raise End Sub Public Event salaryReviewTime() ' Method to raise the event Public Sub TriggerSalaryReview() RaiseEvent salaryReviewTime() End Sub End Structure
Het
salary
veld in het vorige voorbeeld isPrivate
, wat betekent dat het niet toegankelijk is buiten de structuur, zelfs van de bevatde klasse. DegiveRaise
procedure is echterPublic
, zodat deze van buiten de structuur kan worden aangeroepen. Op dezelfde manier kunt u desalaryReviewTime
gebeurtenis indirect verhogen door een methode aan te roepen binnen de structuur die deze genereert. Bijvoorbeeld:Public Sub TriggerSalaryReview() RaiseEvent salaryReviewTime() End Sub
Hiermee kunt u bepalen hoe en wanneer de gebeurtenis wordt gegenereerd, terwijl de gebeurtenis rechtstreeks van buiten de structuur ontoegankelijk blijft.
Naast variabelen,
Sub
procedures en gebeurtenissen kunt u ook constanten,Function
procedures en eigenschappen in een structuur definiëren. U kunt maximaal één eigenschap aanwijzen als de standaardeigenschap, mits er ten minste één argument nodig is. U kunt een gebeurtenis afhandelen met een gedeeldeSub
-procedure. Zie Procedure: Een standaardeigenschap declareren en aanroepen in Visual Basicvoor meer informatie.