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 OrElse clauses. Si vous définissez une classe ou une structure, puis utilisez une variable de ce type dans une OrElse clause, vous devez définir IsTrue sur cette classe ou cette structure.

Le compilateur considère les opérateurs et IsFalse les IsTrue opérateurs 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 une Forinstruction, IfElse Ifou While dans une When clause. Si vous effectuez cette opération, le compilateur requiert 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 élargi de votre classe ou structure en Boolean.

  2. Opérateur de conversion élargi de votre classe ou structure en Boolean?.

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

  4. Une conversion étroite vers Boolean? ce qui n’implique pas une conversion de Boolean vers Boolean?.

  5. Opérateur de conversion étroit de votre classe ou structure en Boolean.

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

Remarque

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 a le type de cette classe ou structure. Si votre code utilise cet opérateur sur une telle classe ou structure, veillez à comprendre son comportement redéfini. Pour plus d’informations, consultez Procédures d’opérateur.

Exemple :

L’exemple de code suivant définit le plan d’une structure qui inclut des définitions pour les opérateurs et IsTrue les IsFalse opérateurs.

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