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í:

  1. Operátor rozšiřujícího převodu z vaší třídy nebo struktury na Boolean .

  2. Operátor rozšiřujícího převodu z vaší třídy nebo struktury na Boolean? .

  3. Operátor IsTrue pro vaši třídu nebo strukturu.

  4. Zužující převod Boolean? na , který nezahrnuje převod z na Boolean Boolean? .

  5. 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

Viz také