IsTrue 演算子 (Visual Basic)
式が True
かどうかを判別します。
コード内で IsTrue
を明示的に呼び出すことはできませんが、Visual Basic コンパイラはそれを使用して OrElse
句からコードを生成できます。 クラスまたは構造体を定義し、その型の変数を OrElse
句で使用する場合は、そのクラスまたは構造体で IsTrue
を定義する必要があります。
コンパイラは、IsTrue
と IsFalse
の演算子を "対応するペア" と見なします。 つまり、そのいずれかを定義する場合は、もう一方も定義する必要があります。
コンパイラでの IsTrue の使用
クラスまたは構造体を定義したら、その型の変数を For
、If
、Else If
、While
ステートメント、または When
句で使用できます。 これを行う場合、条件をテストできるように、型を Boolean
値に変換する演算子がコンパイラで必要になります。 適切な演算子が次の順序で検索されます。
クラスまたは構造体から
Boolean
への拡大変換演算子。クラスまたは構造体から
Boolean?
への拡大変換演算子。クラスまたは構造体の
IsTrue
演算子。Boolean
からBoolean?
への変換を含まないBoolean?
への縮小変換。クラスまたは構造体から
Boolean
への縮小変換演算子。
Boolean
または IsTrue
演算子への変換を定義していない場合、コンパイラはエラーを通知します。
注意
IsTrue
演算子は "オーバーロード" できます。つまり、オペランドがあるクラスまたは構造体の型を持っているときに、そのクラスまたは構造体はその動作を再定義できます。 コードで、そのようなクラスまたは構造体に対してこの演算子が使用される場合は、再定義された動作を理解していることを確認してください。 詳細については、「 Operator Procedures」を参照してください。
例
次のコード例では、IsFalse
および IsTrue
演算子の定義を含む構造体のアウトラインを定義しています。
Public Structure p
Dim a As Double
Public Shared Operator IsFalse(ByVal w As p) As Boolean
Dim b As Boolean
' Insert code to calculate IsFalse of w.
Return b
End Operator
Public Shared Operator IsTrue(ByVal w As p) As Boolean
Dim b As Boolean
' Insert code to calculate IsTrue of w.
Return b
End Operator
End Structure
関連項目
.NET