Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Los inicializadores de objeto permiten declarar e instanciar una clase en una sola instrucción. Además, puede inicializar uno o varios miembros de la instancia al mismo tiempo, sin 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 para la clase, seguido de la inicialización de los miembros designados en el orden especificado.
En el procedimiento siguiente se muestra cómo crear una instancia de una Student
clase de tres maneras diferentes. La clase tiene propiedades de nombre, apellido y curso, entre otras. Cada una de las tres declaraciones crea una nueva instancia de Student
, con la propiedad First
establecida en "Michael", 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, que no usa un inicializador de objeto.
Dim student0 As New Student
With student0
.First = "Michael"
.Last = "Tucker"
End With
Para obtener una implementación de la Student
clase, vea How to: Create a List of Items. Puede copiar el código de ese tema para configurar la clase y crear una lista de Student
objetos 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 asignarle un valor inicial. El nombre de la propiedad va precedido de un punto.
Dim student1 As New Student With {.First = "Michael", .Last = "Tucker"}
Puede inicializar uno o varios miembros de la clase .
Como alternativa, puede declarar una nueva instancia de la clase y, a continuación, asignarle un valor. En primer lugar, declare una instancia de
Student
:Dim student2 As Student
Comience la creación de una instancia de
Student
de forma normal.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.Dim student2 As Student = New Student With {.First = "Michael", .Last = "Tucker"}
Puede simplificar la definición en el paso anterior omitiendo
As Student
. Si lo hace, el compilador determina questudent3
es una instancia deStudent
mediante la inferencia de tipos locales.Dim student3 = New Student With {.First = "Michael", .Last = "Tucker"}
Para obtener más información, consulte Inferencia de tipos locales.