Dela via


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 StudentSå 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

  1. Börja deklarationen som om du planerade att använda en konstruktor.

    Dim student1 As New Student

  2. Skriv nyckelordet With, följt av en initieringslista i klammerparenteser.

    Dim student1 As New Student With { <initialization list> }

  3. 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.

  4. 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

  5. Börja skapa en instans av Student på det normala sättet.

    Dim student2 As Student = New Student

  6. 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"}
    
  7. Du kan förenkla definitionen i föregående steg genom att As Studentutelämna . Om du gör detta avgör kompilatorn att det student3 är en instans av med hjälp av Student lokal typinferens.

    Dim student3 = New Student With {.First = "Michael", 
                                     .Last = "Tucker"}
    

    Mer information finns i Slutsatsdragning av lokal typ.

Se även