Freigeben über


IsTrue-Operator

Aktualisiert: November 2007

Bestimmt, ob ein Ausdruck True ist.

Sie können IsTrue in Programmen nicht explizit aufrufen, aber der Visual Basic-Compiler kann mithilfe dieses Operators aus OrElse-Klauseln Code generieren. Wenn Sie eine Klasse oder Struktur definieren und dann eine Variable dieses Typs in einer OrElse-Klausel verwenden, müssen Sie IsTrue für diese Klasse oder Struktur definieren.

Der Compiler betrachtet den IsTrue-Operator und den IsFalse-Operator als zueinander passendes Paar. Wenn Sie einen dieser beiden Operatoren definieren, müssen Sie daher auch den anderen definieren.

Compilerverwendung von IsTrue

Wenn Sie eine Klasse oder Struktur definiert haben, können Sie eine Variable dieses Typs in einer For-, If-, ElseIf- oder While-Anweisung oder in einer When-Klausel verwenden. In diesem Fall erwartet der Compiler die Angabe eines Operators, der diesen Typ in einen Boolean-Wert umwandelt, damit die Bedingung überprüft werden kann. Er sucht in der folgenden Reihenfolge nach einem geeigneten Operator:

  1. Ein Widening-Konvertierungsoperator für Konvertierungen von der betreffenden Klasse oder Struktur zu Boolean.

  2. Der IsTrue-Operator für die betreffende Klasse oder Struktur.

  3. Ein Narrowing-Konvertierungsoperator für Konvertierungen von der betreffenden Klasse oder Struktur zu Boolean.

Wenn Sie keine Konvertierung zu Boolean oder keinen IsTrue-Operator definiert haben, signalisiert der Compiler einen Fehler.

Hinweis:

Der IsTrue-Operator kann überladen werden. Das bedeutet, dass eine Klasse oder Struktur sein Verhalten neu definieren kann, wenn sein Operand den Typ dieser Klasse oder Struktur aufweist. Wenn Sie diesen Operator im Code auf eine solche Klasse oder Struktur anwenden, sollten Sie auf jeden Fall sein neu definiertes Verhalten verstehen. Weitere Informationen hierzu finden Sie unter Operatorprozeduren.

Beispiel

Im folgenden Codebeispiel wird das Gerüst für eine Struktur definiert, das Definitionen für den IsFalse-Operator und den IsTrue-Operator enthält.

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

Siehe auch

Aufgaben

Gewusst wie: Definieren eines Operators

Referenz

IsFalse-Operator

OrElse-Operator