Dela via


Så här deklarerar du en struktur (Visual Basic)

Du börjar en strukturdeklaration med Structure Statementoch avslutar den med End Structure-instruktionen. Mellan dessa två satser måste du deklarera minst ett -element. Elementen kan vara av valfri datatyp, men minst en måste vara antingen en variabel som inte delas eller en icke-delad, icke-anpassad händelse.

Du kan inte initiera något av strukturelementen i strukturdeklarationen. När du deklarerar att en variabel ska vara av en strukturtyp tilldelar du värden till elementen genom att komma åt dem via variabeln.

En diskussion om skillnaderna mellan strukturer och klasser finns i Strukturer och klasser.

I demonstrationssyfte bör du överväga en situation där du vill hålla reda på en anställds namn, telefontillägg och lön. Med en struktur kan du göra detta i en enda variabel.

Deklarera en struktur

  1. Skapa start- och avslutningsuttalanden för strukturen.

    Du kan ange åtkomstnivån för en struktur med hjälp av nyckelordet Public, Protected, Friendeller Private, eller så kan du låta den som standard Public.

    Private Structure employee  
    End Structure  
    
  2. Lägg till element i strukturens kropp.

    En struktur måste ha minst ett element. Du måste deklarera varje element och ange en åtkomstnivå för det. Om du använder Dim-instruktionen utan nyckelord, blir standardinställningen för tillgängligheten 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  
    

    Fältet salary i föregående exempel är Private, vilket innebär att det är otillgängligt utanför strukturen, även från den innehållande klassen. Den giveRaise proceduren är dock Public, så den kan anropas utanför strukturen. På samma sätt kan du skapa salaryReviewTime händelse indirekt genom att anropa en metod i strukturen som genererar den. Till exempel:

    Public Sub TriggerSalaryReview()
        RaiseEvent salaryReviewTime()
    End Sub
    

    På så sätt kan du styra hur och när händelsen aktiveras samtidigt som händelsen hålls otillgänglig direkt utanför strukturen.

    Förutom variabler, Sub procedurer och händelser kan du också definiera konstanter, Function procedurer och egenskaper i en struktur. Du kan ange högst en egenskap som standardegenskap, förutsatt att det tar minst ett argument. Du kan hantera en händelse med en deladSub-procedur. Mer information finns i Så här deklarerar och anropar du en standardegenskap i Visual Basic.

Se även