SUB |
Procédure |
---|---|
VB .NET (Visual Basic .NET) |
Syntaxe
SUB nom[[(arguments)] ... End SUB |
Syntaxe simplifié |
[ attributelist ] [ Partial ] [ accessmodifier ] [ proceduremodifiers ] [ Shared ] [ Shadows ] [ Async ] Sub nom [ (Of typeparamlist) ] [ (arguments) ] [ Implements implementslist | Handles eventlist ] [ statements ] [ Exit Sub ] [ statements ] End Sub |
Syntaxe avancé |
Paramètres
Nom | Description |
---|---|
nom | Ce paramètre permet d'indiquer le nom de la procédure |
arguments | Ce paramètre permet d'indiquer les paramètres de la procédure |
typeparamlist | Ce paramètre optionnel permet d'indiquer la liste des paramètres de type pour une procédure générique. |
Description
Cette instruction permet de définir une procédure.
Remarques
- Tout le code exécutable doit être à l'intérieur d'une procédure. Utilisez une procédure Sub lorsque vous ne souhaitez pas renvoyer de valeur au code appelant. Utilisez une procédure Function lorsque vous souhaitez renvoyer une valeur.
- Définir une procédure Sub : Vous ne pouvez définir une procédure Sub qu'au niveau du module. Le contexte de déclaration d'une procédure Sub doit donc être une classe, une structure, un module ou une interface et ne peut pas être un fichier source, un espace de noms, une procédure ou un bloc. Les procédures Sub sont par défaut en accès public. Vous pouvez ajuster leurs niveaux d'accès en utilisant les modificateurs d'accès. Si la procédure utilise le mot clef Implements, la classe ou la structure conteneur doit avoir une instruction Implements suivant immédiatement son instruction Class ou Structure. L'instruction Implements doit inclure chaque interface spécifiée dans implementslist. Cependant, le nom par lequel une interface définit le Sub (dans le nom défini) ne doit pas nécessairement correspondre au nom de cette procédure (dans le nom).
- Retour d'une procédure Sub : Lorsqu'une procédure Sub retourne au code appelant, l'exécution se poursuit avec l'instruction après l'instruction l'ayant appelée. L'exemple suivant montre un retour d'une procédure Sub :
- Appel d'une procédure Sub : Vous appelez une procédure Sub en utilisant le nom de la procédure dans une instruction, puis en suivant ce nom avec sa liste de paramètres entre parenthèses. Vous ne pouvez omettre les parenthèses que si vous ne fournissez aucun paramètre. Cependant, votre code est plus lisible si vous incluez toujours les parenthèses. Une procédure Sub et une procédure Function peuvent avoir des paramètres et exécuter une série d'instructions. Cependant, une procédure Function renvoie une valeur, contrairement à une procédure Sub. Par conséquent, vous ne pouvez pas utiliser une procédure Sub dans une expression. Vous pouvez utiliser le mot-clef Call lorsque vous appelez une procédure Sub, mais ce mot-clef n'est pas recommandé pour la plupart des utilisations. Le Visual Basic réorganise parfois les expressions arithmétiques pour augmenter l'efficacité interne. Pour cette raison, si votre liste de paramètres comprend des expressions appelant d'autres procédures, vous ne devez pas supposer que ces expressions seront appelées dans un ordre particulier.
- Procédure Sub désynchronisées : En utilisant la fonctionnalité Async, vous pouvez appeler des fonctions désynchronisées sans utiliser de rappels explicites ni fractionner manuellement votre code entre plusieurs fonctions ou expressions lambda. Si vous marquez une procédure avec le modificateur Async, vous pouvez utiliser l'opérateur Await dans la procédure. Lorsque le contrôle atteint une expression Await dans la procédure Async, le contrôle revient à l'appelant et la progression de la procédure est suspendue jusqu'à la fin de la tâche attendue. Lorsque la tâche est terminée, l'exécution peut reprendre dans la procédure. Une procédure Async retourne à l'appelant lorsque le premier objet attendu n'étant pas encore terminé est rencontré ou que la fin de la procédure Async est atteinte, selon la première éventualité. Vous pouvez également marquer une instruction de fonction avec le modificateur Async. Une fonction Async peut avoir un type de retour Task<TResult> ou Task. Un exemple plus loin dans cette rubrique montre une fonction Async dont le type de retour est Task<TResult>.
- Les procédures Async Sub sont principalement utilisées pour les gestionnaires d'événements, où une valeur ne peut pas être renvoyée. Une procédure Async Sub ne peut pas être attendue et l'appelant d'une procédure Async Sub ne peut pas intercepter les exceptions que la procédure Sub lève. Une procédure Async ne peut déclarer aucun paramètre ByRef.
Les instructions Exit Sub et Return provoquent une sortie immédiate d'une procédure Sub. N'importe quel nombre d'instructions Exit Sub et Return peut apparaître n'importe où dans la procédure, et vous pouvez mélanger les instructions Exit Sub et Return.
Exemple
Voici un exemple d'une utilisation typique de cette instruction :
on obtiendra le résultat suivant :
Fonction sans retour de valeur !
Dernière mise à jour : Dimanche, le 9 novembre 2014