IsTrue (Operador) (Visual Basic)

Determina si una expresión es True.

No se puede llamar a IsTrue explícitamente en el código, pero el compilador de Visual Basic puede usarlo para generar código a partir de cláusulas OrElse. Si define una clase o estructura y luego usa una variable de ese tipo en una cláusula OrElse, debe definir IsTrue en esa clase o estructura.

El compilador considera los operadores IsTrue y IsFalse como un par coincidente, lo que significa que si define uno de ellos, también debe definir el otro.

Uso del compilador de IsTrue

Cuando defina una clase o estructura, puede usar una variable de ese tipo en una instrucción For, If, Else If o While o en una cláusula When. Si lo hace, el compilador requiere un operador que convierta el tipo en un valor Boolean para que pueda probar una condición. Busca un operador adecuado en el orden siguiente:

  1. Operador de conversión de ampliación de la clase o estructura en Boolean.

  2. Operador de conversión de ampliación de la clase o estructura en Boolean?.

  3. Operador IsTrue en la clase o estructura.

  4. Conversión de restricción en Boolean? que no implica una conversión de Boolean en Boolean?.

  5. Operador de conversión de restricción de la clase o estructura en Boolean.

Si no definió ninguna conversión en Boolean o un operador IsTrue, el compilador indica un error.

Nota

El operador IsTrue puede sobrecargarse, lo que significa que una clase o estructura puede redefinir su comportamiento cuando su operando tiene el tipo de esa clase o estructura. Si el código usa este operador en una clase o estructura de este tipo, asegúrese de que comprende su comportamiento redefinido. Para obtener más información, consulta Operator Procedures.

Ejemplo

En el ejemplo de código siguiente, se define el esquema de una estructura que incluye definiciones para los operadores IsFalse y IsTrue.

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

Consulte también