Partilhar via


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:

  1. Um operador de conversão expansão da sua classe ou estrutura para Boolean.

  2. The IsTrue operador de sua classe ou estrutura.

  3. 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

Consulte também

Tarefas

Como: Definir um operador

Referência

Operador IsFalse

Operador OrElse