次の方法で共有


方法: プロシージャの複数のバージョンを定義する (Visual Basic)

同じ名前を使用し、バージョンごとに異なるパラメーター リストを使用して、プロシージャ をオーバーロード することで、複数のバージョンでプロシージャを定義できます。 オーバーロードの目的は、プロシージャを名前で区別することなく、いくつかの密接に関連するバージョンを定義することです。

詳細については、「 プロシージャのオーバーロード」を参照してください。

プロシージャの複数のバージョンを定義するには

  1. 定義するプロシージャの各バージョンの Sub または Function 宣言ステートメントを記述します。 すべての宣言で同じプロシージャ名を使用します。

  2. 各宣言の Sub または Function キーワードの前に Overloads キーワードを付けます。 必要に応じて、宣言の Overloads を省略できますが、いずれかの宣言に含める場合は、すべての宣言に含める必要があります。

  3. 各宣言ステートメントの後に、呼び出し元のコードがそのバージョンのパラメーター リストに一致する引数を提供する特定のケースを処理するプロシージャ コードを記述します。 呼び出し元のコードが指定したパラメーターをテストする必要はありません。 Visual Basic は、一致するバージョンのプロシージャにコントロールを渡します。

  4. 必要に応じて、 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 プロシージャを呼び出す方法については、「 方法: オーバーロードされたプロシージャを呼び出す」を参照してください。

コードをコンパイルする

オーバーロードされた各バージョンのプロシージャ名は同じですが、パラメーター リストは異なっていることを確認します。

こちらも参照ください