Overloads (Visual Basic)
プロパティまたはプロシージャが、同じ名前の 1 つ以上の既存のプロパティまたはプロシージャを再度宣言することを示します。
Remarks
オーバーロードとは、特定のプロパティ名またはプロシージャ名に対し、同じスコープ内で複数の定義を与えることです。 異なるシグネチャによるプロパティまたはプロシージャの再宣言は、シグネチャによる隠ぺいと呼ばれることがあります。
ルール
宣言コンテキスト。
Overloads
は、プロパティまたはプロシージャの宣言ステートメントでのみ使用できます。結合された修飾子。 同じプロシージャ宣言内で
Overloads
を Shadows と共に指定することはできません。必要な相違点。 この宣言内のシグネチャは、オーバーロードされるすべてのプロパティまたはプロシージャのシグネチャと異なる必要があります。 シグネチャは、プロパティまたはプロシージャの名前と以下の項目で構成されます。
パラメーターの数
パラメーターの順序
パラメーターのデータ型
型パラメーターの数 (ジェネリック プロシージャの場合)
戻り値の型 (変換演算子プロシージャの場合のみ)
すべてのオーバーロードを同じ名前にする必要はありますが、各オーバーロードは、前の項目の 1 つ以上において他のすべてのオーバーロードと異なっている必要があります。 これにより、コンパイラは、コードでプロパティまたはプロシージャが呼び出すときに使用するバージョンを区別できます。
許可されない相違点。 以下の項目はシグネチャに含まれないため、これらの項目の 1 つ以上を変更しても、プロパティまたはプロシージャのオーバーロードには有効ではありません。
値を返すかどうか (プロシージャの場合)
戻り値のデータ型 (変換演算子を除く)
パラメーターまたは型パラメーターの名前
型パラメーターに対する制約 (ジェネリック プロシージャの場合)
パラメーター修飾子キーワード (
ByRef
やOptional
など)プロパティまたはプロシージャ修飾子キーワード (
Public
やShared
など)
省略可能な修飾子。 同じクラス内でオーバーロードされるプロパティまたはプロシージャを複数定義する場合、
Overloads
修飾子を使用する必要はありません。 ただし、宣言の 1 つでOverloads
を使用した場合は、すべての宣言で Overloads を使用する必要があります。シャドウとオーバーロード。
Overloads
は、基底クラスで既存のメンバーや一連のオーバーロードされたメンバーをシャドウする場合にも使用できます。 この方法でOverloads
を使用する場合は、基底クラスのメンバーと同じ名前とパラメーター リストを使用してプロパティまたはメソッドを宣言し、Shadows
キーワードは指定しません。
Overrides
を使用する場合は、ライブラリ API と C# が連携しやすくなるように、コンパイラが暗黙的に Overloads
を追加します。
Overloads
修飾子は、次のコンテキストで使用できます。
関連項目
.NET