Condividi tramite


Procedura: Dichiarare un oggetto utilizzando un inizializzatore di oggetto (Visual Basic)

Gli inizializzatori di oggetto consentono di dichiarare e creare un'istanza di una classe in una singola istruzione. Inoltre, è possibile inizializzare uno o più membri dell'istanza contemporaneamente, senza richiamare un costruttore con parametri.

Quando si usa un inizializzatore di oggetto per creare un'istanza di un tipo denominato, viene chiamato il costruttore senza parametri per la classe , seguito dall'inizializzazione dei membri designati nell'ordine specificato.

La procedura seguente illustra come creare un'istanza di una Student classe in tre modi diversi. La classe ha proprietà nome, cognome e anno di classe, tra le altre. Ognuna delle tre dichiarazioni crea una nuova istanza di Student, con la proprietà First impostata su "Michael", la proprietà Last impostata su "Tucker" e tutti gli altri membri impostati sui valori predefiniti. Il risultato di ogni dichiarazione nella routine è equivalente all'esempio seguente, che non usa un inizializzatore di oggetto.

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

Per un'implementazione della Student classe, vedere Procedura: Creare un elenco di elementi. È possibile copiare il codice da tale argomento per configurare la classe e creare un elenco di Student oggetti da utilizzare.

Per creare un oggetto di una classe denominata utilizzando un inizializzatore di oggetto

  1. Inizia la dichiarazione come se si intende utilizzare un costruttore.

    Dim student1 As New Student

  2. Digitare la parola chiave With, seguita da un elenco di inizializzazione tra parentesi graffe.

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

  3. Nell'elenco di inizializzazione includere ogni proprietà che si desidera inizializzare e assegnare un valore iniziale. Il nome della proprietà è preceduto da un punto.

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

    È possibile inizializzare uno o più membri della classe .

  4. In alternativa, è possibile dichiarare una nuova istanza della classe e quindi assegnarvi un valore. Prima di tutto, dichiarare un'istanza di Student:

    Dim student2 As Student

  5. Iniziare la creazione di un'istanza di Student nel modo normale.

    Dim student2 As Student = New Student

  6. Digitare With e quindi un inizializzatore di oggetto per inizializzare uno o più membri della nuova istanza.

    Dim student2 As Student = New Student With {.First = "Michael", 
                                                .Last = "Tucker"}
    
  7. È possibile semplificare la definizione nel passaggio precedente omettendo As Student. In questo caso, il compilatore determina che student3 è un'istanza di Student utilizzando l'inferenza di tipo locale.

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

    Per altre informazioni, vedere Inferenza del tipo locale.

Vedere anche