IsTrue-operator (Visual Basic)
Bepaalt of een expressie is True
.
U kunt uw code niet expliciet aanroepen IsTrue
, maar de Visual Basic-compiler kan deze gebruiken om code te genereren op basis van OrElse
componenten. Als u een klasse of structuur definieert en vervolgens een variabele van dat type in een OrElse
component gebruikt, moet u deze klasse of structuur definiëren IsTrue
.
De compiler beschouwt de IsTrue
en IsFalse
operators als een overeenkomend paar. Dit betekent dat als u een van deze definieert, u ook de andere moet definiëren.
Compilergebruik van IsTrue
Wanneer u een klasse of structuur hebt gedefinieerd, kunt u een variabele van dat type gebruiken in een For
, If
, Else If
of While
instructie of in een When
component. Als u dit doet, vereist de compiler een operator waarmee uw type wordt geconverteerd naar een Boolean
waarde, zodat deze een voorwaarde kan testen. Er wordt gezocht naar een geschikte operator in de volgende volgorde:
Een verbreidingsoperator van uw klasse of structuur naar
Boolean
.Een verbreidingsoperator van uw klasse of structuur naar
Boolean?
.De
IsTrue
operator in uw klas of structuur.Een vermalende conversie naar
Boolean?
die geen conversie vanBoolean
naarBoolean?
.Een narrowing conversieoperator van uw klasse of structuur naar
Boolean
.
Als u geen conversie naar Boolean
of een IsTrue
operator hebt gedefinieerd, geeft de compiler een fout aan.
Notitie
De IsTrue
operator kan overbelast worden, wat betekent dat een klasse of structuur het gedrag ervan opnieuw kan definiëren wanneer de operand het type van die klasse of structuur heeft. Als uw code deze operator gebruikt voor een dergelijke klasse of structuur, moet u het opnieuw gedefinieerde gedrag ervan begrijpen. Zie Operator Procedures voor meer informatie.
Opmerking
In het volgende codevoorbeeld wordt het overzicht gedefinieerd van een structuur die definities voor de IsFalse
en IsTrue
operators bevat.
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