Visual Basic .Net:Espaces de noms
Un article de WikiTuto.
Sommaire |
Explication
On vient de voir qu'en VB.Net, la plupart des fonctions existent également sous forme de méthodes des classes présentes dans le Framework .Net. Pire, un certain nombre de fonctions (qui n'en sont plus, du coup) n'existent que sous cette forme. C'est un premier point.
Deuxième point, les classes du Framework .Net ne se situent pas toutes au même niveau. Ces classes sont hiérarchisées, un peu comme dans une arborescence (pensez aux répertoires et aux sous-répertoires). Ainsi, il y a quelques classes très générales (avec leur méthodes). Puis il y a des sous-classes de ces classes (avec leur méthodes à elles). Puis il y a des sous-classes de ces sous-classes de ces classes, avec leurs propres méthodes. Et ainsi de suite.
Syntaxe
Dans ces conditions, si l'on veut utiliser une méthode d'une sous-classe d'une sous-classe d'une classe, on est censé écrire de la manière suivante :
classe.sous-classe.sous-classe.méthode
Et encore, là, je ne vous le fais qu'avec trois étages de classes. Mais il peut hélas y en avoir davantage. Alors, il existe un moyen d'abréger (et d'alléger) un peu l'écriture : ce sont les fameux espaces de noms. L'astuce va consister à s'adresser au programme de cette manière : "voilà, au cours des instructions qui vont suivre j'ai eu la flemme de te donner à chaque fois la série complète des classes et des sous-classes qui mènent aux méthodes que j'ai utilisées. Alors, je te donne une petite liste des classes et sous-classes dont je vais me servir. Chaque fois que tu trouveras une nom de classe et une méthode que tu ne connais pas, fouille donc dans cette liste pour voir si elles ne s'y trouvent pas. Et dis à ton compilateur de me foutre la paix."
Exemple
Prenons un exemple que nous retrouverons par la suite. Pour connaître la liste des sous-répertoires d'un répertoire donné, l'aide nous apprend que nous pouvons avoir recours à la méthode GetDirectories, qui s'applique à la classe Directory, elle-même dérivée de la classe IO, elle-même membre de la classe System. Du coup, on est censé se cogner l'écriture :
toto = System.IO.Directory.GetDirectories("C:\")
Alors, autre solution : on indique, en tout début de programme, avant même toute procédure, que l'on entend aller chercher des choses dans l'espace de noms (c'est-à-dire dans la classe) ystem.IO :
Imports System.IO
Ce qui nous permet ensuite, à chaque fois que nous en aurons besoin, d'écrire simplement :
toto = Directory.GetDirectories("C:\")
Savoir manier les espaces de noms peut donc se révéler diantrement utile pour s'épargner de longues recherches. Cette technique n'est donc pas à proprement parler indispensable, mais mieux vaut la connaître.
Voir aussi
- Fonctions de chaînes
- Fonctions et méthodes numériques
- Fonctions de conversion
- Fonctions d'interface
- Les espaces de noms
- La classe Textbox
- Retour au sommaire
Source : Christophe Darmangeat



