次の方法で共有


方法: 演算子プロシージャを呼び出す (Visual Basic)

演算子プロシージャを呼び出すには、式の中で演算子記号を使用します。変換演算子のプロシージャの場合は、CType 関数 (Visual Basic)を呼び出して、あるデータ型の値を別のデータ型に変換します。

演算子プロシージャを明示的に呼び出すことはありません。演算子を通常どおりに使用するのと同じ方法で、演算子や CType 関数を代入ステートメントまたは式に定義すると、Visual Basic によって演算子プロシージャが呼び出されます。

クラスまたは構造体で演算子を定義することを、演算子をオーバーロードするといいます。

演算子プロシージャを呼び出すには

  1. 通常の方法で、演算子記号を式の中に記述します。

  2. 演算子のオペランドのデータ型が適切であること、またオペランドの順序が正しいことを確認します。

  3. 演算子によって、式の値が適切に処理されます。

変換演算子プロシージャを呼び出す

  1. 式の中で CType を使用します。

  2. 変換処理のオペランドのデータ型が適切であること、またオペランドの順序が正しいことを確認します。

  3. 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)」を参照してください。

コードのコンパイル

使用しているクラスまたは構造体が、必要な演算子を定義していることを確認してください。

参照

処理手順

方法: 演算子を定義する (Visual Basic)

方法: 変換演算子を定義する (Visual Basic)

方法: 構造体を宣言する (Visual Basic)

関連項目

Operator ステートメント

Widening (Visual Basic)

Narrowing (Visual Basic)

Structure ステートメント

概念

演算子プロシージャ (Visual Basic)

暗黙の型変換と明示的な型変換 (Visual Basic)

拡大変換と縮小変換 (Visual Basic)