Megosztás a következőn keresztül:


Útmutató: Objektum deklarálása objektum inicializálóval (Visual Basic)

Az objektum-inicializálók segítségével egyetlen utasításban deklarálhatja és példányosíthatja az osztály egy példányát. Emellett inicializálhatja a példány egy vagy több tagját egyszerre, paraméteres konstruktor meghívása nélkül.

Ha objektum inicializálóval hoz létre egy elnevezett típusú példányt, a rendszer meghívja az osztály paraméter nélküli konstruktorát, majd inicializálja a kijelölt tagokat a megadott sorrendben.

Az alábbi eljárás azt mutatja be, hogyan hozhat létre egy osztálypéldányt Student három különböző módon. Az osztály többek között keresztnévvel, vezetéknévvel és osztályévvel rendelkezik. Mindhárom deklaráció létrehoz egy új Student példányt, amelynek a First tulajdonsága "Michael", a Last tulajdonsága pedig "Tucker", a többi tag pedig az alapértelmezett értékekre van állítva. Az eljárás minden egyes deklarációjának eredménye egyenértékű az alábbi példával, amely nem használ objektum inicializálót.

Dim student0 As New Student
With student0
    .First = "Michael"
    .Last = "Tucker"
End With

Az osztály implementációja: StudentÚtmutató: Elemek listájának létrehozása. A témakör kódját átmásolva beállíthatja az osztályt, és létrehozhatja a Student használható objektumok listáját.

Elnevezett osztály objektumának létrehozása objektum inicializáló használatával

  1. Kezdje el a deklarációt úgy, mintha konstruktort szeretne használni.

    Dim student1 As New Student

  2. Írja be a kulcsszót With, majd egy inicializálási listát a zárójelek közé.

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

  3. Az inicializálási listában adja meg az inicializálni kívánt összes tulajdonságot, és rendeljen hozzá egy kezdeti értéket. A tulajdonság nevét pont előzi meg.

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

    Az osztály egy vagy több tagját inicializálhatja.

  4. Másik lehetőségként deklarálhatja az osztály új példányát, majd hozzárendelhet hozzá egy értéket. Először deklaráljuk a következő példányt Student:

    Dim student2 As Student

  5. Kezdje el szokásos módon létrehozni a Student példányt.

    Dim student2 As Student = New Student

  6. Írja be With majd egy objektuminicializálót, hogy inicializálja az új példány egy vagy több tagját.

    Dim student2 As Student = New Student With {.First = "Michael", 
                                                .Last = "Tucker"}
    
  7. Az előző lépésben leegyszerűsítheti a definíciót a kihagyással As Student. Ha ezt teszi, a fordító helyi típus-inferenciát használva állapítja meg, hogy a student3 egy példány a Student.

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

    További információ: Helyi típus következtetése.

Lásd még