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

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

演算子プロシージャを明示的に呼び出すことはありません。 演算子を通常使用する場合と同様に、代入ステートメントまたは式で、演算子または CType 関数を使用するだけです。 Visual Basic が演算子プロシージャを呼び出します。

クラスまたは構造体での演算子の定義は、演算子の "オーバーロード" とも呼ばれます。

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

  1. 通常どおり、式で演算子記号を使用します。

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

  3. 演算子は想定どおりに式の値を返します。

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

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

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

  3. CType は変換演算子プロシージャを呼び出し、変換された値を返します。

次の例では、2 つの TimeSpan 構造体を作成し、それらを合計して、結果を 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 の値を計算するときに演算子プロシージャを呼び出します。

会話演算子プロシージャの呼び出しの例については、「方法: 演算子を定義するクラスを使用する」をご覧ください。

コードのコンパイル

使用しているクラスまたは構造体で、使用する演算子が定義されていることを確認します。

関連項目