次の方法で共有


New 演算子 (Visual Basic)

新しいオブジェクト インスタンスを作成する New 句を導入するか、型パラメーターにコンストラクター制約を指定するか、 Sub プロシージャをクラス コンストラクターとして識別します。

注釈

宣言ステートメントまたは代入ステートメントでは、 New 句は、インスタンスを作成できる定義済みのクラスを指定する必要があります。 つまり、クラスは、呼び出し元のコードがアクセスできる 1 つ以上のコンストラクターを公開する必要があります。

宣言ステートメントまたは代入ステートメントでは、 New 句を使用できます。 ステートメントを実行すると、指定したクラスの適切なコンストラクターが呼び出され、指定した引数が渡されます。 次の例では、パラメーターを受け取っていないコンストラクターと文字列パラメーターを受け取るコンストラクターの 2 つのコンストラクターを持つ Customer クラスのインスタンスを作成することで、これを示します。

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

配列はクラスであるため、次の例に示すように、 New は新しい配列インスタンスを作成できます。

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}

新しいインスタンスを作成するのに十分なメモリがない場合、共通言語ランタイム (CLR) は OutOfMemoryException エラーをスローします。

New キーワードは、指定された型がアクセス可能なパラメーターなしのコンストラクターを公開する必要があることを指定するために、型パラメーター リストでも使用されます。 型パラメーターと制約の詳細については、「 型リスト」を参照してください。

クラスのコンストラクター プロシージャを作成するには、 Sub プロシージャの名前を New キーワードに設定します。 詳細については、「 オブジェクトの有効期間: オブジェクトの作成方法と破棄方法」を参照してください。

New キーワードは、次のコンテキストで使用できます。

こちらも参照ください