Condividi tramite


Procedura: dichiarare un oggetto utilizzando un inizializzatore di oggetto

Aggiornamento: novembre 2007

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

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

Nella procedura riportata di seguito viene illustrato come creare un'istanza di una classe Student in tre modi diversi. Ad esempio, la classe ha un nome, un cognome e le proprietà dell'anno della classe. Ognuna delle tre dichiarazioni crea una nuova istanza di Student, con proprietà First impostata su "Michael", 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 utilizza un inizializzatore di oggetto.

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

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

Collegamento a video Per una dimostrazione video, vedere la procedura video per dichiarare un oggetto con un inizializzatore di oggetto (informazioni in lingua inglese).

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

  1. Iniziare la dichiarazione come se si intendesse 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 assegnarle 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 assegnarle un valore. Dichiarare innanzitutto 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 precedente passaggio omettendo As Student. Se si procede in questa modo, il compilatore determina che student3 è un'istanza di Student utilizzando l'inferenza del tipo di variabile locale.

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

    Per ulteriori informazioni, vedere Inferenza dei tipi locali.

Vedere anche

Attività

Procedura: creare un elenco di elementi

Procedura: dichiarare un'istanza di un tipo anonimo

Concetti

Inferenza dei tipi locali

Inizializzatori di oggetto: tipi denominati e tipi anonimi

Confronto tra tipi denominati e tipi anonimi