Partager via


Opérateur IsTrue (Visual Basic)

Détermine si une expression est True.

Vous ne pouvez pas appeler IsTrue explicitement dans votre code, mais le compilateur Visual Basic peut l’utiliser pour générer du code à partir de clauses OrElse. Si vous définissez une classe ou une structure, puis utilisez une variable de ce type dans une clause OrElse, vous devez définir IsTrue sur cette classe ou structure.

Le compilateur considère les opérateurs IsTrue et IsFalse comme une paire correspondante. Cela signifie que si vous définissez l’un d’eux, vous devez également définir l’autre.

Utilisation du compilateur d’IsTrue

Lorsque vous avez défini une classe ou une structure, vous pouvez utiliser une variable de ce type dans un For, If, Else Ifou une instruction While , ou dans une clause When . Si vous procédez ainsi, le compilateur nécessite un opérateur qui convertit votre type en valeur Boolean afin qu’il puisse tester une condition. Il recherche un opérateur approprié dans l’ordre suivant :

  1. Opérateur de conversion d’extension de votre classe ou structure à Boolean.

  2. Opérateur de conversion d’extension de votre classe ou structure à Boolean?.

  3. Opérateur IsTrue sur votre classe ou structure.

  4. Conversion restrictive vers Boolean? qui n’implique pas une conversion de Boolean en Boolean?.

  5. Opérateur de conversion restrictive de votre classe ou structure vers Boolean.

Si vous n’avez défini aucune conversion vers Boolean ou opérateur IsTrue , le compilateur signale une erreur.

Notes

L’opérateur IsTrue peut être surchargé, ce qui signifie qu’une classe ou une structure peut redéfinir son comportement lorsque son opérande présente le type de cette classe ou structure. Si votre code utilise cet opérateur sur ce type de classe ou structure, veillez à comprendre son comportement une fois qu’il est redéfini. Pour plus d'informations, consultez Operator Procedures.

Exemple

L’exemple de code suivant définit le plan d’une structure incluant des définitions pour les opérateurs IsFalse et 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

Voir aussi