方法: 演算子プロシージャを呼び出す (Visual Basic)
演算子プロシージャを呼び出すには、式の中で演算子記号を使用します。 変換演算子のプロシージャの場合は、CType 関数 (Visual Basic)を呼び出して、あるデータ型の値を別のデータ型に変換します。
演算子プロシージャを明示的に呼び出すことはありません。 演算子を通常どおりに使用するのと同じ方法で、演算子や 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 の値を計算するときに演算子プロシージャが呼び出されます。
変換演算子プロシージャを呼び出す例については、「方法: 演算子を定義するクラスを使用する (Visual Basic)」を参照してください。
コードのコンパイル
使用するクラスまたは構造体に、使用する演算子が定義されていることを確認してください。