Operador IsTrue
Determina se uma expressão é True.
Você não pode chamar IsTrue explicitamente no código, mas o compilador Visual Basic pode usá-lo para gerar código de cláusulas OrElse.Se você definir uma classe ou estrutura e, em seguida, usar uma variável desse tipo em uma cláusula OrElse, você deve definir IsTrue na classe ou estrutura.
O compilador considera os operadores IsTrue e IsFalse como um par correspondente .Isso significa que se você definir um deles, você deverá também definir o outro.
Uso do compilador do IsTrue
When you have defined a class or structure, you can use a variable of that type in a For, If, ElseIf, or While statement, or in a When clause.Se você fizer isso, o compilador requer um operador que converte seu tipo em um Boolean valor para que ele possa testar uma condição. Ele procura por um operador adequado na seguinte ordem:
Um operador de conversão expansão da sua classe ou estrutura para Boolean.
The IsTrue operador de sua classe ou estrutura.
Um operador de conversão restrição da sua classe ou estrutura para Boolean.
Se você não definiu qualquer conversão em Boolean ou um IsTrue operador, o compilador indica um erro.
Observação: |
---|
O IsTrue operador pode ser sobrecarregado, que significa que uma classe ou estrutura pode redefinir seu comportamento quando seu operando tem o tipo da classe ou estrutura.Se seu código usa esse operador em tal classe ou estrutura, esteja certo que entende seu comportamento redefinido.Para obter mais informações, consulte Procedimentos de Operador. |
Exemplo
O exemplo de código a seguir define o contorno de uma estrutura que inclui as definições para 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