IsTrue (Operador) (Visual Basic)

Determina si una expresión es True .

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

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

Uso del compilador de IsTrue

Cuando haya definido una clase o estructura, puede usar una variable de ese tipo en una instrucción For , , o en una cláusula If Else If While When . Si lo hace, el compilador requiere un operador que convierta el tipo en un valor para Boolean 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 a Boolean .

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

  3. Operador IsTrue de la clase o estructura.

  4. Una conversión de Boolean? limitación a que no implica una conversión de Boolean a Boolean? .

  5. Operador de conversión de limitación de la clase o estructura a Boolean .

Si no ha definido ninguna conversión a Boolean o a un IsTrue operador, el compilador señala un error.

Nota

El IsTrue operador se puede sobrecargar, lo que significa que una clase o estructura puede volver a definir su comportamiento cuando su operando tiene el tipo de esa clase o estructura. Si el código usa este operador en dicha clase o estructura, 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 IsFalse operadores IsTrue y .

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

Consulta también