プロシージャのパラメーターと引数 (Visual Basic)
プロシージャは、ほとんどの場合、呼び出されたときの状況に関する情報を必要とします。繰り返し実行されるタスクや共有されているタスクを実行するプロシージャは、呼び出されるたびに異なる情報を使用します。この情報は、プロシージャを呼び出すときに渡される変数、定数、および式から構成されています。
パラメーターは、プロシージャが呼び出されるときに期待する値を表します。パラメーターは、プロシージャの宣言で定義されます。
プロシージャは、パラメーターなしでも、1 つのパラメーターでも、複数のパラメーターでも定義できます。プロシージャの定義のうち、パラメーターを指定する部分をパラメーター リストと呼びます。
引数は、プロシージャを呼び出すときに、プロシージャのパラメーターに渡す値を表します。呼び出し元のコードは、プロシージャを呼び出すときに引数を渡します。プロシージャ呼び出しのうち、引数を指定する部分を引数リストと呼びます。
次の図は、プロシージャ safeSquareRoot を 2 つの場所から呼び出すコードを示したものです。最初の呼び出しでは、変数 x の値 (4.0) をパラメーター number に渡し、root の戻り値 (2.0) が変数 y に代入されます。2 番目の呼び出しでは、リテラル値 9.0 を number に渡し、戻り値 (3.0) を変数 z に代入します。
パラメーターに引数を渡す
詳細については、「パラメーターと引数の違い (Visual Basic)」を参照してください。
パラメーターのデータ型を宣言するには、パラメーターの宣言の中で As 句を使用します。たとえば、次の関数は、文字列型と整数型の引数を受け取ります。
Function appointment(ByVal day As String, ByVal hour As Integer) As String
' Insert code to return any appointment for the given day and time.
Return "appointment"
End Function
型チェック スイッチ (Option Strict ステートメント) が Off, の場合、As 句は省略可能です。ただし、いずれかのパラメーターがこれを使用している場合は、すべてのパラメーターで使用する必要があります。型チェックが On になっている場合は、プロシージャのすべての引数に As 句が必要です。
String パラメーターに Byte を渡すなど、呼び出し元のコードが、対応するパラメーターとは異なるデータ型の引数を渡す場合、次のいずれかの作業が必要です。
パラメーターのデータ型に拡大変換されるデータ型の引数だけを渡す
暗黙の縮小変換を許可する Option Strict Off を設定する
変換キーワードを使用してデータ型を明示的に変換する
ジェネリック プロシージャ も、通常のパラメーターの他に 1 つ以上の型パラメーターを定義します。ジェネリック プロシージャを使うと、呼び出し元のコードは、プロシージャを呼び出すたびに異なるデータ型を渡すことができるため、個々の呼び出しの要件に合わせてデータ型を変更できます。Visual Basic におけるジェネリック プロシージャ を参照してください。
方法: プロシージャに対してパラメーターを定義する (Visual Basic)
方法: プロシージャに引数を渡す (Visual Basic)
Function プロシージャ (Visual Basic)