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 clausole OrElse
. Se si definisce una classe o una struttura e quindi si usa una variabile di tale tipo in una clausola OrElse
, è necessario definire IsTrue
in tale classe o struttura.
Il compilatore considera gli operatori IsTrue
e IsFalse
come coppia abbinata. Ciò significa che, se ne si definisce una, è necessario 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
, If
, Else If
o While
in una clausola When
. In questo caso, il compilatore richiede un operatore che converte il tipo in un valore Boolean
in modo che possa testare una condizione. Cerca un operatore appropriato nell'ordine seguente:
Operatore di conversione che supporta un maggior numero di dati dalla classe o dalla struttura in
Boolean
.Operatore di conversione che supporta un maggior numero di dati dalla classe o dalla struttura in
Boolean?
.L'operatore
IsTrue
nella classe o nella struttura.Conversione che supporta un minor numero di dati in
Boolean?
che non comporta una conversione daBoolean
aBoolean?
.Operatore di conversione che supporta un minor numero di dati dalla classe o dalla struttura in
Boolean
.
Se non è stata definita alcuna conversione in Boolean
o un operatore IsTrue
, il compilatore segnala un errore.
Nota
L'operatore IsTrue
può essere sottoposto a overload, il che significa che una classe o una struttura può ridefinirne il comportamento quando il suo 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 che include le definizioni per gli operatori 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