Como: declarar um objeto usando um inicializador de objeto (Visual Basic)

Inicializadores de objeto permitem que você declare e instancie uma instância de uma classe em uma única instrução.Além disso, você pode inicializar um ou mais membros da instância ao mesmo tempo, sem chamar um construtor com parâmetros.

Quando você usa um inicializador de objeto para criar uma instância de um tipo nomeado, o construtor-padrão para a classe é chamado, seguido pela inicialização dos membros designados na ordem que você especificar.

O procedimento a seguir mostra como criar uma instância de uma classe Student de três maneiras diferentes.A classe tem primeiro nome, sobrenome e propriedades do ano da classe, entre outros.Cada uma das três declarações cria uma nova instância de Student, com propriedade First definida como "Michael", propriedade Last definida como "Tucker", e todos os outros membros definidos com seus valores padrão.O resultado de cada declaração no procedimento é equivalente ao exemplo a seguir, que não usa um inicializador de objeto.

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

Para obter uma implementação da classe Student, consulte Como: criar uma lista de itens.Você pode copiar o código daquele tópico para configurar a classe e criar uma lista de objetos Student para trabalhar.

Para criar um objeto de uma classe nomeada usando um inicializador de objeto

  1. Comece a declaração como se você planejasse para usar um construtor.

    Dim student1 As New Student

  2. Digite a palavra-chave With, seguida por uma lista de inicialização entre chaves.

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

  3. Na lista de inicialização, inclua cada propriedade que você deseja inicializar e atribua um valor inicial a ela.O nome da propriedade é precedido por um ponto (.).

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

    Você pode inicializar um ou mais membros da classe.

  4. Como alternativa, você pode declarar uma nova instância da classe e, em seguida, atribuir um valor a ela.Primeiro, declare uma instância de Student:

    Dim student2 As Student

  5. Inicie a criação de uma instância de Student na forma normal.

    Dim student2 As Student = New Student

  6. Digite With e, em seguida, um inicializador de objeto para inicializar um ou mais membros da nova instância.

    Dim student2 As Student = New Student With {.First = "Michael", 
                                                .Last = "Tucker"}
    
  7. Você pode simplificar a definição na etapa anterior omitindo As Student.Se você fizer isso, o compilador determina que student3 é uma instância de Student usando inferência de tipos locais.

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

    Para obter mais informações, consulte Inferência de tipo de local (Visual Basic).

Consulte também

Tarefas

Como: criar uma lista de itens

Conceitos

Inferência de tipo de local (Visual Basic)

Inicializadores de objeto: Nomeados e anônimos tipos (Visual Basic)

Tipos anônimos (Visual Basic)