同じ名前を使用し、バージョンごとに異なるパラメーター リストを使用して、プロシージャ をオーバーロード することで、複数のバージョンでプロシージャを定義できます。 オーバーロードの目的は、プロシージャを名前で区別することなく、いくつかの密接に関連するバージョンを定義することです。
詳細については、「 プロシージャのオーバーロード」を参照してください。
プロシージャの複数のバージョンを定義するには
定義するプロシージャの各バージョンの
Sub
またはFunction
宣言ステートメントを記述します。 すべての宣言で同じプロシージャ名を使用します。各宣言の
Sub
またはFunction
キーワードの前に Overloads キーワードを付けます。 必要に応じて、宣言のOverloads
を省略できますが、いずれかの宣言に含める場合は、すべての宣言に含める必要があります。各宣言ステートメントの後に、呼び出し元のコードがそのバージョンのパラメーター リストに一致する引数を提供する特定のケースを処理するプロシージャ コードを記述します。 呼び出し元のコードが指定したパラメーターをテストする必要はありません。 Visual Basic は、一致するバージョンのプロシージャにコントロールを渡します。
必要に応じて、
End Sub
またはEnd Function
ステートメントを使用して、プロシージャの各バージョンを終了します。
例
次の例では、顧客の残高に対してトランザクションを転記する Sub
プロシージャを定義します。
Overloads
キーワードを使用して、プロシージャの 2 つのバージョンを定義します。1 つは名前で顧客を受け入れ、もう 1 つはアカウント番号で受け入れます。
Overloads Sub post(ByVal custName As String, ByVal amount As Single)
' Insert code to access customer record by customer name.
End Sub
Overloads Sub post(ByVal custAcct As Integer, ByVal amount As Single)
' Insert code to access customer record by account number.
End Sub
呼び出し元のコードは、 String
または Integer
として顧客 ID を取得し、どちらの場合も同じ呼び出しステートメントを使用できます。
これらのバージョンの post
プロシージャを呼び出す方法については、「 方法: オーバーロードされたプロシージャを呼び出す」を参照してください。
コードをコンパイルする
オーバーロードされた各バージョンのプロシージャ名は同じですが、パラメーター リストは異なっていることを確認します。
こちらも参照ください
.NET