Sdílet prostřednictvím


IsTrue – operátor (Visual Basic)

Určuje, zda je Truevýraz .

V kódu nelze explicitně volat IsTrue , ale kompilátor jazyka Visual Basic ho může použít k vygenerování kódu z OrElse klauzulí. Pokud definujete třídu nebo strukturu a pak v klauzuli použijete proměnnou tohoto typu OrElse , musíte definovat IsTrue tuto třídu nebo strukturu.

Kompilátor považuje operátory a IsFalse operátory IsTrue za spárovaný pár. To znamená, že pokud definujete jednu z nich, musíte také definovat druhou.

Použití kompilátoru IsTrue

Pokud jste definovali třídu nebo strukturu, můžete použít proměnnou tohoto typu v Forklauzuli , If, Else If, nebo While příkaz nebo v klauzuli When . Pokud to uděláte, kompilátor vyžaduje operátor, který převede typ na Boolean hodnotu, aby mohl testovat podmínku. Vyhledá vhodný operátor v následujícím pořadí:

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

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

  3. Operátor IsTrue ve vaší třídě nebo struktuře.

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

  5. Zužující operátor převodu z vaší třídy nebo struktury na Boolean.

Pokud jste nedefinovali žádný převod na Boolean operátor nebo IsTrue operátor, kompilátor signalizuje chybu.

Poznámka:

Operátor IsTrue může být přetížen, což znamená, že třída nebo struktura mohou předefinovat jeho chování, pokud má jeho operand typ této třídy nebo struktury. Pokud váš kód používá tento operátor pro takovou třídu nebo strukturu, ujistěte se, že rozumíte jeho předdefinované chování. Další informace naleznete v tématu Procedury operátoru.

Příklad

Následující příklad kódu definuje osnovu struktury, která obsahuje definice pro operátory IsFalse a IsTrue operátory.

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é