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:
Operador de conversión de ampliación de la clase o estructura en
Boolean
.Operador de conversión de ampliación de la clase o estructura en
Boolean?
.Operador
IsTrue
en la clase o estructura.Conversión de restricción en
Boolean?
que no implica una conversión deBoolean
enBoolean?
.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