IsTrue (Operador)

Actualización: noviembre 2007

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 utilizarlo para generar código en las cláusulas OrElse. Si se define una clase o estructura y, a continuación, se utiliza una variable de este tipo en una cláusula OrElse, debe definirse IsTrue en dicha clase o estructura.

El compilador tiene en cuenta los operadores IsTrue e IsFalse como un par coincidente. Esto significa que si se define uno de ellos, también debe definirse el otro.

Uso de IsTrue del compilador

Una vez que ha definido una clase o estructura, puede utilizar una variable de ese tipo en una instrucción For, If, ElseIf 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. El compilador busca un operador conveniente en el orden siguiente:

  1. Un operador de conversión de ampliación de la clase o estructura a Boolean.

  2. El operador IsTrue de la clase o estructura.

  3. Un operador de conversión de restricción de la clase o estructura a Boolean.

Si no se ha definido ninguna conversión a Boolean ni un operador IsTrue, el compilador indica un error.

Nota:

El operador IsTrue se puede sobrecargar, lo que significa que una clase o una estructura puede definir de nuevo su comportamiento cuando su operando tiene el tipo de dicha clase o estructura. Si el código utiliza este operador en una clase o estructura de este tipo, asegúrese de conocer su comportamiento redefinido. Para obtener más información, vea Procedimientos de operador.

Ejemplo

En el ejemplo de código siguiente se define el esquema de una estructura que incluye las definiciones para los operadores IsFalse e 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

Vea también

Tareas

Cómo: Definir un operador

Referencia

IsFalse (Operador)

OrElse (Operador)