Paramètres et arguments d’une procédure (Visual Basic)

Dans la plupart des cas, une procédure a besoin d’informations sur les circonstances dans lesquelles elle a été appelée. Une procédure qui effectue des tâches répétées ou partagées utilise des informations différentes pour chaque appel. Ces informations se composent de variables, de constantes et d’expressions que vous passez à la procédure lorsque vous l’appelez.

Un paramètre représente une valeur que la procédure attend que vous fournissiez lorsque vous l’appelez. La déclaration de la procédure définit ses paramètres.

Vous pouvez définir une procédure avec zéro, un ou plusieurs paramètres. La partie de la définition de procédure qui spécifie les paramètres est appelée liste de paramètres.

Un argument représente la valeur que vous fournissez à un paramètre de procédure lorsque vous appelez la procédure. Le code appelant fournit les arguments lorsqu’il appelle la procédure. La partie de l’appel de procédure qui spécifie les arguments est appelée liste d’arguments.

L’illustration suivante montre le code appelant la procédure safeSquareRoot à partir de deux emplacements différents. Le premier appel passe la valeur de la variable x (4.0) au paramètre number, et la valeur renvoyée dans root (2.0) est attribuée à la variable y. Le deuxième appel passe la valeur littérale 9.0 à number, et attribue la valeur renvoyée (3.0) à la variable z.

Diagramme montrant le passage d’un argument à un paramètre

Pour plus d’informations, consultez Différences entre les paramètres et les arguments.

Type de données de paramètre

Pour définir un type de données pour un paramètre, vous devez utiliser la clause As dans sa déclaration. Par exemple, la fonction suivante accepte une chaîne et un entier.

Function appointment(ByVal day As String, ByVal hour As Integer) As String
    ' Insert code to return any appointment for the given day and time.
    Return "appointment"
End Function

Si le commutateur de vérification de type (Instruction Option Strict) est Off, la As clause est facultative, sauf que si un paramètre l’utilise, tous les paramètres doivent l’utiliser. Si le contrôle de type est On, la clause As est requise pour tous les paramètres de procédure.

Si le code appelant s’attend à fournir un argument avec un type de données différent de celui de son paramètre correspondant, par exemple Byte à un paramètre String, il doit effectuer l’une des opérations suivantes :

  • Fournir uniquement des arguments avec des types de données qui s’étendent au type de données du paramètre

  • Définir Option Strict Off pour autoriser les conversions restrictives implicites

  • Utiliser un mot clé de conversion pour convertir explicitement le type de données

Paramètres de type

Une procédure générique définit également un ou plusieurs paramètres de type en plus de ses paramètres normaux. Une procédure générique permet au code appelant de passer différents types de données chaque fois qu’il appelle la procédure, ce qui lui permet d’adapter les types de données aux exigences de chaque appel individuel. Consultez Generic Procedures in Visual Basic.

Voir aussi