OVH Cloud OVH Cloud

Partant de la question de macadam.

2 réponses
Avatar
djmcg
Bonjour,
Moi par contre je me demande la doc que je doit lire pour savoir
finalement je ce que doit "imports".
Parce-que d'un exemple a l'autre et puis comme dit macadam il y a les
"défaut".
Merci pour votre patience.
Jean-Marie

2 réponses

Avatar
Fred
Dans : news:,
djmcg écrivait :
Bonjour,



Bonjour,

Moi par contre je me demande la doc que je doit lire pour savoir
finalement je ce que doit "imports".



Dans la MSDN Library, pour chaque classe, sont mentionnées la dll dans
laquelle se trouve la classe ainsi que son espace de nom (namespace).
La dll, c'est ce que tu ajoutes au moyen des références.
Un imports n'est jamais obligatoire, ce n'est qu'une facilité
syntaxique.
Par exemple, avec imports System.Text, tu peux te contenter d'écrire
Encoding.
Sans faire l'import, tu devras toujours écrire le chemin d'accès complet
: System.Text.Encoding

Espace de nom et référence sont deux choses bien différentes (mais liées
tout de même).
Une référence, c'est du code. Un espace de nom, c'est une sorte de
classement (hiérarchique).
Un espace de nom (par exemple System) peut regrouper (organiser) des
classes qui sont réparties dans plusieurs dll (mscorlib et system par
exemple)
Réciproquement, une dll peut contenir le code de classes qui sont
classées dans différents espaces de nom.

Tout projet que tu crées a pour espace de nom implicite le nom de
l'assembly (dll ou exe). Mais cela peut se changer dans les propriétés
du projet.

Ex : une librairie de classe nommée «MaLib» et un fichier qui contient
le code suivant :

Namespace A
Class Y
...
End Class
End Namespace

Namespace B
Class Z
...
End Class
End Namespace

Class W
....
End Class

Va avoir pour résultat la création d'une dll (assembly) nommée
«MaLib.dll» et qui contiendra les espaces de nom suivants :
MaLib.A «contenant» la classe Y -> MaLib.A.Y
MaLib.B «contenant» la classe Z -> MaLib.B.Z
MaLib «contenant» la classe W -> MaLib.W

Si tu utilises ce projet comme référence dans un autre projet, tu peux
écrire
imports MaLib
imports MaLib.A
imports MaLib.B

et utiliser tes classes W, Y et Z sans les préfixer.

--
Fred
http://www.cerber mail.com/?3kA6ftaCvT (enlever l'espace)
Avatar
djmcg
merci,
Je vais faire de cette page une page a relire.
Expliqué comme cela, cela me parait plus abordable.
Un rès grans merci d'avoir pris la peine.


Fred a écrit :
Dans : news:,
djmcg écrivait :
Bonjour,



Bonjour,

Moi par contre je me demande la doc que je doit lire pour savoir
finalement je ce que doit "imports".



Dans la MSDN Library, pour chaque classe, sont mentionnées la dll dans
laquelle se trouve la classe ainsi que son espace de nom (namespace).
La dll, c'est ce que tu ajoutes au moyen des références.
Un imports n'est jamais obligatoire, ce n'est qu'une facilité syntaxique.
Par exemple, avec imports System.Text, tu peux te contenter d'écrire
Encoding.
Sans faire l'import, tu devras toujours écrire le chemin d'accès complet
: System.Text.Encoding

Espace de nom et référence sont deux choses bien différentes (mais liées
tout de même).
Une référence, c'est du code. Un espace de nom, c'est une sorte de
classement (hiérarchique).
Un espace de nom (par exemple System) peut regrouper (organiser) des
classes qui sont réparties dans plusieurs dll (mscorlib et system par
exemple)
Réciproquement, une dll peut contenir le code de classes qui sont
classées dans différents espaces de nom.

Tout projet que tu crées a pour espace de nom implicite le nom de
l'assembly (dll ou exe). Mais cela peut se changer dans les propriétés
du projet.

Ex : une librairie de classe nommée «MaLib» et un fichier qui contient
le code suivant :

Namespace A
Class Y
...
End Class
End Namespace

Namespace B
Class Z
...
End Class
End Namespace

Class W
....
End Class

Va avoir pour résultat la création d'une dll (assembly) nommée
«MaLib.dll» et qui contiendra les espaces de nom suivants :
MaLib.A «contenant» la classe Y -> MaLib.A.Y
MaLib.B «contenant» la classe Z -> MaLib.B.Z
MaLib «contenant» la classe W -> MaLib.W

Si tu utilises ce projet comme référence dans un autre projet, tu peux
écrire
imports MaLib
imports MaLib.A
imports MaLib.B

et utiliser tes classes W, Y et Z sans les préfixer.