Delen via


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

  1. 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  
    
  2. 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 is Private, wat betekent dat het niet toegankelijk is buiten de structuur, zelfs van de bevatde klasse. De giveRaise procedure is echter Public, zodat deze van buiten de structuur kan worden aangeroepen. Op dezelfde manier kunt u de salaryReviewTime 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 gedeelde Sub-procedure. Zie Procedure: Een standaardeigenschap declareren en aanroepen in Visual Basicvoor meer informatie.

Zie ook