Partager via


Overloads

Mise à jour : novembre 2007

Spécifie qu'une propriété ou une procédure redéclare une ou plusieurs propriétés ou procédures existantes avec le même nom.

Notes

La surcharge consiste à fournir plusieurs définitions pour une propriété ou un nom de procédure donné se trouvant dans la même portée. La redéclaration d'une propriété ou d'une procédure à l'aide d'une signature différente est parfois appelée masquage par signature.

Règles

  • Contexte de déclaration. Vous pouvez utiliser Overloads uniquement dans une propriété ou une instruction de déclaration de procédure.

  • Modificateurs combinés. Vous ne pouvez pas spécifier Overloads avec Shadows dans la même déclaration de procédure.

  • Différences requises. La signature dans cette déclaration doit être différente de la signature de chaque propriété ou procédure qu'elle surcharge. La signature comprend la propriété ou le nom de procédure avec ce qui suit :

    • le nombre de paramètres

    • l'ordre des paramètres

    • les types de données des paramètres

    • le nombre de paramètres de type (pour une procédure générique)

    • le type de retour (uniquement pour une procédure d'opérateur de conversion)

    Toutes les surcharges doivent avoir le même nom, mais chacune doit différer des autres à un ou plusieurs des égards ci-dessus. Cela permet au compilateur de distinguer la version à utiliser lorsque le code appelle la propriété ou la procédure.

  • Différences interdites. La modification d'un ou de plusieurs des aspects suivants n'est pas valide pour la surcharge d'une propriété ou d'une procédure, parce qu'elles ne font pas partie de la signature :

    • une valeur est-elle retournée (pour une procédure)

    • le type de données de la valeur de retour (excepté pour un opérateur de conversion)

    • les noms des paramètres ou des paramètres de type

    • les contraintes sur les paramètres de type (pour une procédure générique)

    • mots clés de modificateur de paramètre (tels que ByRef et Optional)

    • mots clés de modificateur de propriété ou de procédure (tels que Public ou Shared)

  • Modificateur facultatif. Vous n'êtes pas tenu d'utiliser le modificateur Overloads lorsque vous définissez plusieurs propriétés ou procédures surchargées dans la même classe. Toutefois, si vous utilisez Overloads dans l'une des déclarations, vous devez l'utiliser dans toutes.

  • L'occultation et la surcharge de Overloads peuvent également être utilisées pour occulter un membre existant ou un ensemble de membres surchargés, dans une classe de base. Lorsque vous utilisez Overloads de cette façon, vous déclarez la propriété ou la méthode avec le même nom et la même liste de paramètres que le membre de la classe de base et vous ne spécifiez pas le mot clé Shadows.

Le modificateur Overloads peut être utilisé dans les contextes suivants :

Function, instruction

Operator, instruction

Property, instruction

Sub, instruction

Voir aussi

Tâches

Comment : définir un opérateur de conversion

Concepts

Surcharge de procédure

Types génériques en Visual Basic

Procédures d'opérateur

Référence

Shadows