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:
Ein Widening-Konvertierungsoperator für Konvertierungen von der betreffenden Klasse oder Struktur zu Boolean.
Der IsTrue-Operator für die betreffende Klasse oder Struktur.
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