IsTrue 演算子 (Visual Basic)
式が True かどうかを調べます。
IsTrue をコードの中で明示的に呼び出すことはできませんが、Visual Basic コンパイラはこれを使用して OrElse 句からコードを生成します。クラスまたは構造体を定義し、OrElse 句でその型の変数を使用する場合、そのクラスまたは構造体で IsTrue を定義する必要があります。
コンパイラは IsTrue および IsFalse 演算子を 一致したペアと見なします。つまり、一方を定義したら、もう一方も定義する必要があります。
IsTrue のコンパイラによる使用
クラスまたは構造体を定義した場合、その型の変数を For、If、ElseIf、または While ステートメントまたは When 句で使用できます。この場合、コンパイラは条件をテストするために、この型を Boolean 値に変換する演算子が必要です。適切な演算子は次の順序で検索されます。
クラスまたは構造体から Boolean への拡大変換演算子
クラスまたは構造体から Boolean? への拡大変換演算子
クラスまたは構造体上の IsTrue 演算子
Boolean から Boolean? への変換が含まれない Boolean? への縮小変換
クラスまたは構造体から Boolean への縮小変換演算子
Boolean への変換、または IsTrue 演算子を定義していない場合、コンパイラはエラーを返します。
[!メモ]
IsTrue は オーバーロード できます。つまり、オペランドがクラスまたは構造体の型であれば、クラスまたは構造体がこの動作を再定義できます。このようなクラスまたは構造体でこの演算子を使用している場合、再定義された動作を確認してください。詳細については、「演算子プロシージャ (Visual Basic)」を参照してください。
使用例
次のコード例では、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