Operador New (Visual Basic)

Introduz uma cláusula New para criar uma nova instância de objeto, especifica uma restrição de construtor em um parâmetro de tipo ou identifica um procedimento Sub como um construtor de classe.

Comentários

Em uma declaração ou instrução de atribuição, uma cláusula Newdeve especificar uma classe definida da qual a instância pode ser criada. Isso significa que a classe deve expor um ou mais construtores que o código de chamada pode acessar.

Você pode usar uma cláusula New em uma instrução de declaração ou de atribuição. Quando a instrução é executada, ela chama o construtor apropriado da classe especificada, passando todos os argumentos fornecidos. O exemplo a seguir demonstra isso criando instâncias de uma classe Customer que tem dois construtores, um que não usa parâmetros e outro que usa um parâmetro de cadeia de caracteres:

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

Como as matrizes são classes, New pode criar uma nova instância de matriz, conforme mostrado no seguinte exemplo:

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}

O CLR (Common Language Runtime) gerará um erro OutOfMemoryException se não houver memória suficiente para criar a nova instância.

Observação

A palavra-chave New também é usada em listas de parâmetros de tipo para especificar que o tipo fornecido deve expor um construtor sem parâmetros acessível. Para obter mais informações sobre parâmetros e restrições de tipo, confira Lista de Tipos.

Para criar um procedimento de construtor para uma classe, defina o nome de um procedimento Sub como a palavra-chave New. Para obter mais informações, confira Tempo de vida do objeto: como os objetos são criados e destruídos.

A palavra-chave New pode ser usada nestes dois contextos:

Confira também