方法: プロシージャの複数のバージョンを定義する (Visual Basic)
同じ名前を使用し、バージョンごとに異なるパラメーター リストを使用して、"オーバーロード" することにより、複数のバージョンのプロシージャを定義できます。 オーバーロードの目的は、名前で区別する必要なく、プロシージャの密接に関連する複数のバージョンを定義することです。
詳細については、「 Procedure Overloading」を参照してください。
プロシージャの複数のバージョンを定義するには
定義するプロシージャのバージョンごとに、
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