New (Operador, Visual Basic)

Presenta una cláusula New para crear una instancia de objeto, especifica una restricción de constructor en un parámetro de tipo genérico o identifica un procedimiento Sub como constructor de clase.

Comentarios

En una declaración o instrucción de asignación, las cláusulas New deben especificar una clase definida desde la que se puede crear la instancia, lo que significa que la clase debe exponer uno o varios constructores a los que puede acceder el código que llama.

Las cláusulas New se pueden usar tanto en una instrucción de declaración como en una instrucción de asignación. Cuando se ejecuta la instrucción, llama al constructor adecuado de la clase especificada y utiliza los argumentos que se le han proporcionados. En el ejemplo siguiente se muestra todo esto, y para ello se crean instancias de una clase Customer que tiene dos constructores, uno que no utiliza parámetros y otro que usa un parámetro de cadena:

' For customer1, call the constructor that takes no arguments.
Dim customer1 As New Customer()

' For customer2, call the constructor that takes the name of the 
' customer as an argument.
Dim customer2 As New Customer("Blue Yonder Airlines")

' For customer3, declare an instance of Customer in the first line 
' and instantiate it in the second.
Dim customer3 As Customer
customer3 = New Customer()

' With Option Infer set to On, the following declaration declares
' and instantiates a new instance of Customer.
Dim customer4 = New Customer("Coho Winery")

Dado que las matrices son clases, New puede crear una instancia de matriz, como se muestra en el ejemplo siguiente:

Dim intArray1() As Integer
intArray1 = New Integer() {1, 2, 3, 4}

Dim intArray2() As Integer = {5, 6}

' The following example requires that Option Infer be set to On.
Dim intArray3() = New Integer() {6, 7, 8}

Common Language Runtime (CLR) genera un error OutOfMemoryException si no hay memoria suficiente para crear la nueva instancia.

Nota

La palabra clave New también se usa en listas de parámetros de tipo para especificar que el tipo proporcionado debe exponer un constructor sin parámetros accesible. Para más información sobre los parámetros de tipo y las restricciones, consulte Lista de tipos.

Para crear un procedimiento de constructor para una clase, establezca el nombre de un procedimiento Sub en la palabra clave New. Para más información, consulte Duración de los objetos: cómo se crean y destruyen.

La palabra clave New se puede usar en los siguientes contextos:

Consulte también