A QUOI SERT LE MOT CLÉ USING

gg00xiv Messages postés 656 Date d'inscription mercredi 22 août 2001 Statut Membre Dernière intervention 11 mars 2005 - 17 sept. 2003 à 20:37
Jujufouq Messages postés 254 Date d'inscription jeudi 27 décembre 2001 Statut Membre Dernière intervention 5 mars 2006 - 20 oct. 2003 à 21:59
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/11604-a-quoi-sert-le-mot-cle-using

Jujufouq Messages postés 254 Date d'inscription jeudi 27 décembre 2001 Statut Membre Dernière intervention 5 mars 2006
20 oct. 2003 à 21:59
Salut, à force je finis par le savoir! Oui, c'est un peu faux (beaucoup si vous préférez) pour le "using" comparé au "include". Je finis par être au courant.

Il est faux sur le point que "include" (inclure en français ;-) ) est remplacée en C++ par le contenu du fichier à inclure lors de la compilation. En effet, le using n'est pas remplacé par un fichier. Il annonce seulement que le programme va utiliser des classes du .net framework, en en permettant ainsi l'acces. C'est ce que tu appelles un scotch.

Pour l'alias, perso je travaille seul, et même si tu ne trouve pas ça pratique pour ceux qui reprennent le code derrière toi, deux solutions : tu change ton alias pour qu'il soit explicite, soit tu leur expliquent que il y a la définition au début de la source, au cas où ils ne le sauraient pas. :-]

Dans tous les cas, que tu appelles ça du scotch ou ce que tu veux, cela n'empêche pas qu'il (using) puisse servir à créer des alias. Il a aussi été prévu pour cette fonction.

Voilà, "merci" quand même pour ton commentaire.
eLord Messages postés 1 Date d'inscription lundi 22 septembre 2003 Statut Membre Dernière intervention 20 octobre 2003
20 oct. 2003 à 13:35
Bonjour Jujufouq,

je débute également en C#, mais ai qq. années d'expérience en C++.
Après vérification, je pense que ta comparaison avec C++ est un peu confuse, or ce mail s'adressant à des débutants, il est important à mon avis d'être clair.
Je vais essayer…

En C#, le "using" est équivalent au "using" du C++, et surtout pas au "include", qui lui est quasi-"automatique" en C#, du moins fait autrement !

Cette instruction a donc 2 utilisations :
- en tant qu'alias : cela correspond à tes exemples de code no3 et no4. Pour ma part, je considère cela comme un "scotch", une rustine pour masquer souvent des défauts de conception. Si ton nom de classe est trop long, change le ! Et si c'est une librairie externe sur laquelle tu n'as pas de contrôle, et bien au moins c'est identifiable. Sur ce dernier point, il faut penser à ceux qui arrivent derrière toi, et qui tombent sur un alias : où trouver sa signification ???....
- la deuxième signification du using, est la "directive", qui permet d'utiliser les classes d'un namespace, sans répéter le namespace à chaque fois ! Encore une fois, cela est à utiliser avec précaution : une trop forte utilisation du "using", peut masquer de nombreuses dépendances inter-namespaces (inter-modules) et donc un défaut de conception ! Par exemple, quand tu as trop souvent de namespace à écrire avant le nom de ta classe, c'est que ta classe n'est peut-être pas dans le bon namespace !....

Voila,
j'espère avoir clair ?!

J.
Jujufouq Messages postés 254 Date d'inscription jeudi 27 décembre 2001 Statut Membre Dernière intervention 5 mars 2006
11 oct. 2003 à 21:04
Salut. Pour te répondre : en quelque sorte oui. Cependant, dans un namespace, il peut y en avoir un autre qui en contient un troisième... et ainsi de suite. Comme son nom l'inqieu, c'est un espace de nom. Dedans, tu peux créer un objet avec ses méthodes , des propriétés etc... pour moi aussi c'était nouveau ce concept, mais c'est pas dur tu verras. Bon travail ;-)
malger Messages postés 4 Date d'inscription jeudi 2 octobre 2003 Statut Membre Dernière intervention 29 octobre 2003
11 oct. 2003 à 04:46
Je suis développeur Java et je débute en C#.
Si je comprends bien tes exemples, le terme "namespace" correspond donc à "package" en Java ?
gg00xiv Messages postés 656 Date d'inscription mercredi 22 août 2001 Statut Membre Dernière intervention 11 mars 2005 13
17 sept. 2003 à 20:37
La dernière formule est interessante pour les noms de namespace à ralonge.
Merci
Rejoignez-nous