Partilhar via


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

Os 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 invocar um construtor parametrizado.

Quando você usa um inicializador de objeto para criar uma instância de um tipo nomeado, o construtor sem parâmetros para a classe é chamado, seguido pela inicialização de membros designados na ordem especificada.

O procedimento a seguir mostra como criar uma instância de uma Student classe de três maneiras diferentes. A classe tem propriedades de nome, sobrenome e ano de aula, entre outros. Cada uma das três declarações cria uma nova instância de Student, com a propriedade definida como "Michael", a propriedade FirstLast 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 uma implementação da Student classe, consulte Como criar uma lista de itens. Você pode copiar o código desse tópico para configurar a classe e criar uma lista de Student objetos para trabalhar.

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

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

    Dim student1 As New Student

  2. Digite a palavra-chave With, seguida por uma lista de inicialização em 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 do imóvel é precedido de 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. Comece a criação de uma instância de Student da maneira 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 determinará que student3 é uma instância de usando inferência de Student tipo local.

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

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

Consulte também