Gör så här: Deklarera ett objekt med hjälp av en objektinitierare (Visual Basic)
Med objektinitierare kan du deklarera och instansiera en instans av en klass i en enda instruktion. Dessutom kan du initiera en eller flera medlemmar av instansen samtidigt, utan att anropa en parameteriserad konstruktor.
När du använder en objektinitierare för att skapa en instans av en namngiven typ anropas den parameterlösa konstruktorn för klassen, följt av initiering av utsedda medlemmar i den ordning du anger.
Följande procedur visar hur du skapar en instans av en Student
klass på tre olika sätt. Klassen har bland annat egenskaper för förnamn, efternamn och klassår. Var och en av de tre deklarationerna skapar en ny instans av Student
, med egenskapen First
inställd på "Michael", egenskapen Last
inställd på "Tucker" och alla andra medlemmar inställda på sina standardvärden. Resultatet av varje deklaration i proceduren motsvarar följande exempel, som inte använder en objektinitierare.
Dim student0 As New Student
With student0
.First = "Michael"
.Last = "Tucker"
End With
En implementering av klassen finns i Student
Så här skapar du en lista med objekt. Du kan kopiera koden från det ämnet för att konfigurera klassen och skapa en lista över Student
objekt att arbeta med.
Skapa ett objekt i en namngiven klass med hjälp av en objektinitierare
Börja deklarationen som om du planerade att använda en konstruktor.
Dim student1 As New Student
Skriv nyckelordet
With
, följt av en initieringslista i klammerparenteser.Dim student1 As New Student With { <initialization list> }
I initieringslistan tar du med varje egenskap som du vill initiera och tilldela ett initialt värde till den. Namnet på egenskapen föregås av en period.
Dim student1 As New Student With {.First = "Michael", .Last = "Tucker"}
Du kan initiera en eller flera medlemmar i klassen.
Du kan också deklarera en ny instans av klassen och sedan tilldela ett värde till den. Deklarera först en instans av
Student
:Dim student2 As Student
Börja skapa en instans av
Student
på det normala sättet.Dim student2 As Student = New Student
Skriv
With
och sedan en objektinitierare för att initiera en eller flera medlemmar i den nya instansen.Dim student2 As Student = New Student With {.First = "Michael", .Last = "Tucker"}
Du kan förenkla definitionen i föregående steg genom att
As Student
utelämna . Om du gör detta avgör kompilatorn att detstudent3
är en instans av med hjälp avStudent
lokal typinferens.Dim student3 = New Student With {.First = "Michael", .Last = "Tucker"}
Mer information finns i Slutsatsdragning av lokal typ.