方法 : メソッドを使用してアクションを実行する
更新 : 2007 年 11 月
メソッドは、オブジェクトに関連付けられたプロシージャです。フィールドやプロパティはオブジェクトに格納できる情報を表しますが、メソッドはオブジェクトが実行できるアクションを表します。メソッドでプロパティの値を操作することもできます。たとえば、ラジオの音量調整の動作を例にとると、SetVolume メソッドで Volume プロパティの値を変更できます。同様に、Visual Basic には、Clear メソッドおよび Add メソッドを使用して変更できる List プロパティが、リスト ボックスの項目にあります。
コード内でメソッドを使用する場合、メソッドが必要とする引数の数、およびそのメソッドで値を返すかどうかによって、ステートメントの記述方法が異なります。メソッドは、通常、サブルーチンや関数呼び出しと同じように使用します。つまり、モジュールのプロシージャと同じ方法でメソッドを呼び出すことができます。ただし、メソッドの場合は、メソッドが呼び出されるオブジェクト インスタンスを指定する式で修飾できます。修飾しない場合、インスタンスは暗黙的に Me 変数となります。
引数を必要としないメソッドを使用するには
次の構文を使います。
Object.method()
ピクチャ ボックスを再描画する Refresh メソッドの例を次に示します。
' Force the control to repaint. PictureBox1.Refresh()
メモ : Refresh メソッドなど、引数を使用せず、値も返さないメソッドもあります。
複数の引数を必要とするメソッドを使用するには
かっこの中に、引数をコンマで区切って指定します。表示するメッセージを指定する引数とメッセージ ボックスのスタイルを指定する引数を使用する、MsgBox メソッドの例を次に示します。
MsgBox("Database update complete", _ MsgBoxStyle.OKOnly Or MsgBoxStyle.Exclamation, _ "My Application")
値を返すメソッドを使用するには
戻り値を変数に代入するか、またはメソッドの呼び出しを直接他の呼び出しのパラメータとして使用します。次のコードは、戻り値を格納します。
Dim Response As MsgBoxResult Response = MsgBox("Do you want to exit?", _ MsgBoxStyle.YesNo Or MsgBoxStyle.Question, _ "My Application")
この例では、MsgBox に対する引数として、Len メソッドから返された値を使用します。
Dim TestStr As String = "Some String" ' Display the string "String length is : 11". MsgBox("String length is : " & Len(TestStr))