Share via


Comment : définir un paramètre pour une procédure (Visual Basic)

Un paramètre permet au code appelant de passer une valeur à la procédure lorsqu'il l'appelle. Vous devez déclarer chaque paramètre d'une procédure de la même façon qu'une variable, en spécifiant son nom et le type de données. Vous pouvez également spécifier le mécanisme de passage et indiquer si le paramètre est facultatif ou non.

Pour plus d'informations, consultez Paramètres et arguments d'une procédure (Visual Basic).

Pour définir un paramètre de procédure

  1. Dans la déclaration de procédure, ajoutez le nom de paramètre à la liste de paramètres de la procédure, en le séparant des autres paramètres par des virgules.

  2. Décidez du type de données du paramètre.

  3. Faites suivre le nom du paramètre d'une clause As qui spécifie le type de données.

  4. Décidez du mécanisme de passage que vous souhaitez utiliser pour le paramètre. Normalement vous passez un paramètre par valeur, sauf si vous souhaitez que la procédure soit capable de modifier sa valeur dans le code appelant.

  5. Faites précéder le nom de paramètre de Byval (Visual Basic) ou ByRef (Visual Basic) pour spécifier le mécanisme de passage. Pour plus d'informations, consultez Différences entre le passage d'un argument par valeur et par référence (Visual Basic).

  6. Si le paramètre est facultatif, faites précéder le mécanisme de passage de Optional (Visual Basic) et faites suivre le type de données de paramètre d'un signe égal (=) et d'une valeur par défaut.

    L'exemple suivant définit le plan d'une procédure Sub avec trois paramètres. Les deux premiers sont requis et le troisième est facultatif. Les déclarations de paramètre sont séparées dans la liste de paramètres par des virgules.

    Sub updateCustomer(ByRef c As customer, ByVal region As String, 
      Optional ByVal level As Integer = 0)
      ' Insert code to update a customer object.
    End Sub
    

    Les premiers paramètres acceptent un objet customer et updateCustomer peut directement mettre à jour la variable passée à c parce que l'argument est passé ByRef (Visual Basic). La procédure ne peut pas modifier les valeurs des deux derniers arguments parce qu'ils sont passés Byval (Visual Basic).

    Si le code appelant ne fournit pas de valeur pour le paramètre level , Visual Basic le définit à la valeur 0 par défaut.

    Si le commutateur de vérification de type (Option Strict, instruction) a la valeur Off, la clause As est facultative lorsque vous définissez un paramètre. Toutefois, si un paramètre utilise une clause As, ils doivent tous l'utiliser. Si le commutateur de vérification de type est On, la clause As est requise pour chaque définition de paramètre.

    Le processus qui consiste à spécifier des types de données pour tous les éléments de programmation est appelé typage fort. Lorsque vous définissez Option Strict On, Visual Basic met en vigueur le typage fort. Cela est recommandé fortement, pour les raisons suivantes :

    • Cela permet la prise en charge de IntelliSens pour vos variables et vos paramètres. Cela vous permet de voir leurs propriétés et leurs autres membres à mesure que vous tapez le code.

    • Il permet au compilateur d'effectuer la vérification des types. Il permet d'intercepter les instructions susceptibles de provoquer, au moment de l'exécution, des erreurs telles qu'un dépassement de capacité. Il intercepte également les appels aux méthodes dans des objets qui ne les prennent pas en charge.

    • Il permet ainsi à votre code de s'exécuter plus rapidement. Une raison pour ceci est que si vous ne spécifiez pas de type de données pour un élément de programmation, le compilateur Visual Basic lui assigne le type Object. Votre code compilé peut avoir à passer de la conversion d'Object à celle d'autres types de données ce qui réduit la performance.

Voir aussi

Tâches

Comment : passer des arguments à une procédure (Visual Basic)

Concepts

Procédures dans Visual Basic

Procédures Sub (Visual Basic)

Procédures Function (Visual Basic)

Passage d'un argument par valeur et par référence (Visual Basic)

Procédures récursives (Visual Basic)

Surcharge de procédure (Visual Basic)

Programmation orientée objet (C# et Visual Basic)

Autres ressources

Objets et classes en Visual Basic