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
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
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 ärPrivate
, vilket innebär att det är otillgängligt utanför strukturen, även från den innehållande klassen. DengiveRaise
proceduren är dockPublic
, så den kan anropas utanför strukturen. På samma sätt kan du skapasalaryReviewTime
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.