方法 : 演算子プロシージャを呼び出す
更新 : 2007 年 11 月
演算子プロシージャを呼び出すには、式の中で演算子記号を使用します。変換演算子のプロシージャの場合は、CType 関数を呼び出して、あるデータ型の値を別のデータ型に変換します。
演算子プロシージャを明示的に呼び出すことはありません。演算子を通常どおりに使用するのと同じ方法で、演算子や CType 関数を代入ステートメントまたは式に定義すると、Visual Basic によって演算子プロシージャが呼び出されます。
クラスや構造体に演算子を定義することを、演算子をオーバーロードするともいいます。
演算子プロシージャを呼び出すには
通常の方法で、演算子記号を式の中に記述します。
演算子のオペランドのデータ型が適切であること、またオペランドの順序が正しいことを確認します。
演算子によって、式の値が適切に処理されます。
変換演算子プロシージャを呼び出す
式の中で CType を使用します。
変換処理のオペランドのデータ型が適切であること、またオペランドの順序が正しいことを確認します。
CType が変換演算子プロシージャを呼び出し、変換された値を返します。
使用例
次の例は、2 つの TimeSpan 構造体を作成し、この 2 つを足し合わせて、結果を 3 つ目の TimeSpan 構造体に格納します。TimeSpan 構造体には演算子プロシージャが定義され、複数の標準演算子をオーバーロードしています。
Dim firstSpan As New TimeSpan(3, 30, 0)
Dim secondSpan As New TimeSpan(1, 30, 30)
Dim combinedSpan As TimeSpan = firstSpan + secondSpan
Dim s As String = firstSpan.ToString() & _
" + " & secondSpan.ToString() & _
" = " & combinedSpan.ToString()
MsgBox(s)
上の例では TimeSpan で標準の + 演算子がオーバーロードされているため、combinedSpan の値を計算するときに演算子プロシージャが呼び出されます。
変換演算子プロシージャを呼び出す例については、「方法 : 演算子を定義するクラスを使用する」を参照してください。
コードのコンパイル方法
使用するクラスまたは構造体に、使用する演算子が定義されていることを確認してください。