次の方法で共有


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

更新 : 2007 年 11 月

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

演算子プロシージャを明示的に呼び出すことはありません。演算子を通常どおりに使用するのと同じ方法で、演算子や 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 の値を計算するときに演算子プロシージャが呼び出されます。

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

コードのコンパイル方法

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

参照

処理手順

方法 : 演算子を定義する

方法 : 変換演算子を定義する

方法 : 構造体を宣言する

概念

演算子プロシージャ

暗黙の型変換と明示的な型変換

拡大変換と縮小変換

参照

Operator ステートメント

Widening

Narrowing

Structure ステートメント