Cómo: Declarar un objeto usando un inicializador de objeto (Visual Basic)
Artículo
Los inicializadores de objeto permiten declarar y crear instancias de una instancia de una clase en una misma instrucción. Además, se pueden inicializar uno o varios miembros de la instancia al mismo tiempo, sin tener que invocar un constructor con parámetros.
Cuando se usa un inicializador de objeto para crear una instancia de un tipo con nombre, se llama al constructor sin parámetros de dicha clase, seguido de la inicialización de los miembros designados en el orden especificado.
En el siguiente procedimiento se muestra cómo crear una instancia de una clase Student de tres maneras diferentes. La clase tiene propiedades de nombre, apellido y curso, entre otras. Cada una de las tres declaraciones crea una instancia de Student, con la propiedad First establecida en "Michael", la propiedad Last establecida en "Tucker" y todos los demás miembros establecidos en sus valores predeterminados. El resultado de cada declaración del procedimiento es equivalente al ejemplo siguiente, donde no se usa un inicializador de objeto.
VB
Dim student0 AsNew Student
With student0
.First = "Michael"
.Last = "Tucker"EndWith
Para obtener una implementación de la clase Student, vea Procedimiento para crear una lista de elementos. Puede copiar el código de ese tema para configurar la clase y crear una lista de objetos Student con los que trabajar.
Para crear un objeto de una clase con nombre mediante un inicializador de objeto
Comience la declaración como si tuviera previsto usar un constructor.
Dim student1 As New Student
Escriba la palabra clave With, seguida de una lista de inicialización entre llaves.
Dim student1 As New Student With { <initialization list> }
En la lista de inicialización, incluya cada propiedad que quiera inicializar y asígneles un valor inicial. El nombre de la propiedad va precedido de un punto.
VB
Dim student1 AsNew Student With {.First = "Michael",
.Last = "Tucker"}
Se pueden inicializar uno o varios miembros de la clase.
Si lo desea, puede declarar una nueva instancia de la clase y, a continuación, asignarle un valor. Primero, declare una instancia de Student:
Dim student2 As Student
Comience la creación de una instancia de Student del modo habitual.
Dim student2 As Student = New Student
Escriba With y, a continuación, un inicializador de objeto para inicializar uno o varios miembros de la nueva instancia.
VB
Dim student2 As Student = New Student With {.First = "Michael",
.Last = "Tucker"}
Para simplificar la definición del paso anterior, puede omitir As Student. Si lo hace, el compilador determina que student3 es una instancia de Student mediante una inferencia de tipo de variable local.
VB
Dim student3 = New Student With {.First = "Michael",
.Last = "Tucker"}
El origen de este contenido se puede encontrar en GitHub, donde también puede crear y revisar problemas y solicitudes de incorporación de cambios. Para más información, consulte nuestra guía para colaboradores.
Comentarios de .NET
.NET es un proyecto de código abierto. Seleccione un vínculo para proporcionar comentarios:
Únase a la serie de reuniones para crear soluciones de inteligencia artificial escalables basadas en casos de uso reales con compañeros desarrolladores y expertos.
Learn how to create classes and instantiate objects that expose encapsulated field data by using class definitions, constructors, and the 'new' operator.