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 utónévvel, vezetéknévvel és osztályév-tulajdonságokkal rendelkezik. A három deklaráció mindegyike létrehoz egy új példányt, amelynek a tulajdonsága StudentFirst "Michael", a tulajdonság Last értéke "Tucker", a többi tag pedig az alapértelmezett értékre 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 a normál módon létrehozni egy példányt Student .

    Dim student2 As Student = New Student

  6. Írjon be With egy objektum inicializálót az új példány egy vagy több tagjának inicializálásához.

    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ú következtetéssel állapítja meg, hogy student3 ez egy példány Student .

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

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

Lásd még