New (Operador, Visual Basic)New Operator (Visual Basic)

Introduce una New cláusula para crear una nueva instancia de objeto, especifica una restricción de constructor en un parámetro de tipo o Sub identifica un procedimiento como un constructor de clase.Introduces a New clause to create a new object instance, specifies a constructor constraint on a type parameter, or identifies a Sub procedure as a class constructor.

ComentariosRemarks

En una declaración o una instrucción de asignación New , una cláusula debe especificar una clase definida a partir de la cual se pueda crear la instancia.In a declaration or assignment statement, a New clause must specify a defined class from which the instance can be created. Esto significa que la clase debe exponer uno o más constructores a los que puede tener acceso el código de llamada.This means that the class must expose one or more constructors that the calling code can access.

Puede utilizar una New cláusula en una instrucción de declaración o una instrucción de asignación.You can use a New clause in a declaration statement or an assignment statement. Cuando se ejecuta la instrucción, llama al constructor adecuado de la clase especificada, pasando los argumentos que ha proporcionado.When the statement runs, it calls the appropriate constructor of the specified class, passing any arguments you have supplied. En el siguiente ejemplo se muestra la creación de instancias Customer de una clase que tiene dos constructores, uno que no toma parámetros y otro que toma un parámetro de cadena.The following example demonstrates this by creating instances of a Customer class that has two constructors, one that takes no parameters and one that takes a string parameter.

' 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")

Puesto que las matrices son clases New , pueden crear una nueva instancia de la matriz, como se muestra en los ejemplos siguientes.Since arrays are classes, New can create a new array instance, as shown in the following examples.

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}

El Common Language Runtime (CLR) produce un OutOfMemoryException error si no hay memoria suficiente para crear la nueva instancia.The common language runtime (CLR) throws an OutOfMemoryException error if there is insufficient memory to create the new instance.

Nota

La New palabra clave también se usa en las listas de parámetros de tipo para especificar que el tipo proporcionado debe exponer un constructor sin parámetros accesible.The New keyword is also used in type parameter lists to specify that the supplied type must expose an accessible parameterless constructor. Para obtener más información sobre los parámetros de tipo y las restricciones, vea Type List.For more information about type parameters and constraints, see Type List.

Para crear un procedimiento de constructor para una clase, establezca el nombre de Sub un procedimiento en New la palabra clave.To create a constructor procedure for a class, set the name of a Sub procedure to the New keyword. Para obtener más información, consulte duración de los objetos: Cómo se crean y destruyenlos objetos.For more information, see Object Lifetime: How Objects Are Created and Destroyed.

La palabra clave New se puede usar en los siguientes contextos:The New keyword can be used in these contexts:

Dim (instrucción)Dim Statement

OfOf

Sub (instrucción)Sub Statement

Vea tambiénSee also