Como declarar um objeto usando um inicializador de objeto (Visual Basic)
Inicializadores de objeto permitem declarar e instanciar 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 classe, entre outras. 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 como 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 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 com os quais trabalhar.
Para criar um objeto de uma classe nomeada usando um inicializador de objeto
Inicie a declaração como se planejasse usar um construtor.
Dim student1 As New Student
Digite a palavra-chave
With
, seguida por uma lista de inicialização em chaves.Dim student1 As New Student With { <initialization list> }
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 período.
Dim student1 As New Student With {.First = "Michael", .Last = "Tucker"}
Você pode inicializar um ou mais membros da classe.
Como alternativa, você pode declarar uma nova instância da classe e atribuir um valor a ela. Primeiro, declare uma instância do tipo
Student
:Dim student2 As Student
Inicie a criação de uma instância da
Student
maneira normal.Dim student2 As Student = New Student
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"}
Você pode simplificar a definição na etapa anterior omitindo
As Student
. Se você fizer isso, o compilador determinará questudent3
é uma instância usando inferência deStudent
tipo local.Dim student3 = New Student With {.First = "Michael", .Last = "Tucker"}
Para obter mais informações, confira Inferência de tipo de variável local.