Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Determina si una expresión es True.
No se puede llamar IsTrue explícitamente al código, pero el compilador de Visual Basic puede usarlo 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 OrElse cláusula , debe definir en IsTrue esa clase o estructura.
El compilador considera los IsTrue operadores y IsFalse como un par 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 una estructura, puede usar una variable de ese tipo en una Forinstrucción , If, Else Ifo While en una When cláusula . Si lo hace, el compilador requiere un operador que convierta el tipo en un Boolean valor 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 a
Boolean.Operador de conversión de ampliación de la clase o estructura a
Boolean?.Operador
IsTruede la clase o estructura.Una conversión de restricción a
Boolean?que no implica una conversión deBooleanaBoolean?.Operador de conversión de restricción de la clase o estructura a
Boolean.
Si no ha definido ninguna conversión a Boolean o un IsTrue operador, el compilador indica un error.
Nota:
El IsTrue operador se puede sobrecargar, 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 comprender 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 definiciones para los IsFalse operadores 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