IsTrue, opérateur

Mise à jour : novembre 2007

Détermine si une expression est True.

Vous ne pouvez pas appeler explicitement IsTrue dans votre code, mais le compilateur Visual Basic peut l'utiliser pour générer le code à partir de clauses OrElse. Si vous définissez une classe ou 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 équilibrée. Cela signifie que si vous définissez l'un, vous devez également définir l'autre.

Utilisation de IsTrue par le compilateur

Lorsque vous avez défini une classe ou structure, vous pouvez utiliser une variable de ce type dans une instruction For, If, ElseIf ou While, ou dans une clause When. Si vous faites ceci, le compilateur requiert un opérateur qui convertit votre type en une valeur Boolean de façon à pouvoir tester une condition. Il recherche un opérateur adéquat dans l'ordre suivant :

  1. Un opérateur de conversion étendue de votre classe ou structure en Boolean.

  2. L'opérateur IsTrue de votre classe ou structure.

  3. Un opérateur de conversion restrictive de votre classe ou structure en Boolean.

Si vous n'avez pas défini de conversion en 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 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, assurez-vous que vous comprenez 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 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

Tâches

Comment : définir un opérateur

Référence

IsFalse, opérateur

OrElse, opérateur