Overloads (Visual Basic)
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 un nom de propriété ou 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 instruction de déclaration de propriété ou 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 le nom de la propriété ou de la procédure ainsi que les éléments suivants :
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 de toutes les autres à l'égard d'une ou de plusieurs des raisons ci-dessus. Cela permet au compilateur de distinguer la version à utiliser quand le code appelle la propriété ou la procédure.
Différences interdites. La modification d'un ou de plusieurs des éléments 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 :
elle retourne ou non une valeur (pour une procédure)
le type de données de la valeur de retour (sauf 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)
les mots clés de modificateur de paramètre (tels que
ByRef
ouOptional
)les mots clés de modificateur de propriété ou de procédure (tels que
Public
ouShared
)
Modificateur facultatif. Vous n'êtes pas tenu d'utiliser le modificateur
Overloads
quand vous définissez plusieurs propriétés ou procédures surchargées dans la même classe. Toutefois, si vous utilisezOverloads
dans l'une des déclarations, vous devez l'utiliser dans toutes.Ombre et surcharge.
Overloads
peut également être utilisé pour ombrer un membre existant, ou un ensemble de membres surchargés, dans une classe de base. Quand vous utilisezOverloads
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 classe de base, et vous ne spécifiez pas le mot cléShadows
.
Si vous utilisez Overrides
, le compilateur ajoute implicitement Overloads
afin que vos API de bibliothèque fonctionnent plus facilement avec C#.
Le modificateur Overloads
peut être utilisé dans les contextes suivants :