型 '<typename>' を '<shortcircuitoperator>' 式で使用するには、演算子 '<determinantoperator>' を定義しなければなりません

更新 : 2007 年 11 月

AndAlso 演算子または OrElse 演算子がクラス型または構造体型のオペランドを使用していますが、そのクラスまたは構造体に必要な演算子が定義されていません。

ショート サーキット演算子 (AndAlso または OrElse) を直接定義していないので、対応する論理演算子および決定演算子を定義する必要があります。必要な演算子は、次の表に示すとおりです。

ショートサーキット演算子

論理演算子

決定演算子

AndAlso

And 演算子 (Visual Basic)

IsFalse 演算子

OrElse

Or 演算子 (Visual Basic)

IsTrue 演算子

Visual Basic ではこれらの論理演算子および決定演算子を使って、AndAlso または OrElse に必要なショート サーキットのロジックを構築します。これを正しく行うために、And または Or の定義において、オペランドの型と戻り値の型はその包含型であることが必要です。つまり、And または Or を含んでいるクラスまたは構造体の型である必要があります。

Error ID: BC33035

このエラーを解決するには

  • AndAlso 演算子または OrElse 演算子のオペランドの型に使用するクラスまたは構造体の内部に、And 演算子と IsFalse 演算子を定義するか、または Or 演算子と IsTrue 演算子を定義します。And または Or のオペランドの型には、必ずそれを定義しているクラスまたは構造体の型を使用してください。

参照

処理手順

方法 : 演算子を定義する

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

概念

演算子プロシージャ

Visual Basic の論理演算子とビット処理演算子

参照

Operator ステートメント