Condividi tramite


Operatore IsTrue (Visual Basic)

Determina se un'espressione è True.

Non è possibile chiamare IsTrue in modo esplicito nel codice, ma il compilatore di Visual Basic può usarlo per generare codice da OrElse clausole. Se si definisce una classe o una struttura e quindi si usa una variabile di tale tipo in una OrElse clausola , è necessario definire IsTrue in tale classe o struttura.

Il compilatore considera gli IsTrue operatori e IsFalse come coppia abbinata. Ciò significa che, se ne definisci una, devi definire anche l'altra.

Uso del compilatore di IsTrue

Dopo aver definito una classe o una struttura, è possibile usare una variabile di tale tipo in un'istruzione For, IfElse If, o While in una When clausola . In questo caso, il compilatore richiede un operatore che converte il tipo in un Boolean valore in modo che possa testare una condizione. Cerca un operatore appropriato nell'ordine seguente:

  1. Operatore di conversione di tipo widening dalla classe o dalla struttura a Boolean.

  2. Operatore di conversione di tipo widening dalla classe o dalla struttura a Boolean?.

  3. IsTrue Operatore nella classe o nella struttura.

  4. Conversione di tipo narrowing in Boolean? che non comporta una conversione da Boolean a Boolean?.

  5. Operatore di conversione di tipo narrowing dalla classe o dalla struttura a Boolean.

Se non è stata definita alcuna conversione in Boolean o un IsTrue operatore, il compilatore segnala un errore.

Annotazioni

L'operatore IsTrue può essere sottoposto a overload, il che significa che una classe o una struttura può ridefinirne il comportamento quando il relativo operando ha il tipo di tale classe o struttura. Se il codice usa questo operatore in una classe o una struttura di questo tipo, assicurarsi di comprenderne il comportamento ridefinito. Per altre informazioni, vedere Operator Procedures.

Esempio

Nell'esempio di codice seguente viene definita la struttura di una struttura che include le definizioni per gli IsFalse operatori 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

Vedere anche