次の方法で共有


方法: 演算子プロシージャを呼び出す (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の値を計算するときに演算子プロシージャを呼び出します。

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

コードをコンパイルする

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

こちらも参照ください