Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Determina se uma expressão é True.
Você não pode chamar IsTrue explicitamente em seu código, mas o compilador do Visual Basic pode usá-lo para gerar código a partir de OrElse cláusulas. Se você definir uma classe ou estrutura e, em seguida, usar uma variável desse tipo em uma OrElse cláusula, deverá definir IsTrue nessa classe ou estrutura.
O compilador considera os operadores e IsFalse os IsTrue operadores como um par correspondente. Isso significa que, se você definir um deles, também deverá definir o outro.
Uso do Compilador do IsTrue
Quando você tiver definido uma classe ou estrutura, poderá usar uma variável desse tipo em uma Forinstrução ou Else IfIfWhile instrução ou em uma When cláusula. Se você fizer isso, o compilador exigirá um operador que converta seu tipo em um Boolean valor para que ele possa testar uma condição. Ele procura um operador adequado na seguinte ordem:
Um operador de conversão de ampliação de sua classe ou estrutura para
Boolean.Um operador de conversão de ampliação de sua classe ou estrutura para
Boolean?.O
IsTrueoperador em sua classe ou estrutura.Uma conversão de restrição para
Boolean?isso não envolve uma conversão deBooleanparaBoolean?.Um operador de conversão de restrição de sua classe ou estrutura para
Boolean.
Se você não definiu nenhuma conversão para Boolean ou um IsTrue operador, o compilador sinalizará um erro.
Observação
O IsTrue operador pode ser sobrecarregado, o que significa que uma classe ou estrutura pode redefinir seu comportamento quando seu operando tem o tipo dessa classe ou estrutura. Se o código usar esse operador em tal classe ou estrutura, certifique-se de entender seu comportamento redefinido. Para obter mais informações, consulte Procedimentos de Operador.
Exemplo
O exemplo de código a seguir define a estrutura de estrutura que inclui definições para os operadores e IsTrue os IsFalse operadores.
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