IsTrue – operátor (Visual Basic)
Určuje, jestli je výraz True .
V kódu nelze explicitně volat, ale kompilátor Visual Basic ho může použít ke generování IsTrue kódu z OrElse klauzulí. Pokud definujete třídu nebo strukturu a pak použijete proměnnou tohoto typu v klauzuli , musíte definovat OrElse pro tuto třídu nebo IsTrue strukturu.
Kompilátor považuje operátory IsTrue a IsFalse za odpovídající dvojici. To znamená, že pokud jeden z nich definujete, musíte také definovat ten druhý.
Použití kompilátoru IsTrue
Pokud jste definovali třídu nebo strukturu, můžete použít proměnnou tohoto typu v příkazu For , , nebo nebo v If Else If While When klauzuli . Pokud to chcete udělat, kompilátor vyžaduje operátor, který převede váš typ na hodnotu, aby mohl Boolean otestovat podmínku. Vyhledá vhodný operátor v následujícím pořadí:
Operátor rozšiřujícího převodu z vaší třídy nebo struktury na
Boolean.Operátor rozšiřujícího převodu z vaší třídy nebo struktury na
Boolean?.Operátor
IsTruepro vaši třídu nebo strukturu.Zužující převod
Boolean?na , který nezahrnuje převod z naBooleanBoolean?.Zužující operátor převodu z vaší třídy nebo struktury na
Boolean.
Pokud jste žádný převod na nebo operátor Boolean nedefinovali, IsTrue kompilátor signalizuje chybu.
Poznámka
Operátor IsTrue může být přetížen, což znamená, že třída nebo struktura může předefinovat své chování, pokud má jeho operand typ této třídy nebo struktury. Pokud váš kód používá tento operátor u takové třídy nebo struktury, ujistěte se, že rozumíte jejímu předdefinované chování. Další informace najdete v tématu Procedury operátora.
Příklad
Následující příklad kódu definuje obrys struktury, která obsahuje definice pro operátory IsFalse IsTrue a .
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