Espaces de noms dans VB.NET

La plupart des programmeurs utilisent de manière courante les espaces de noms VB.NET pour indiquer au compilateur quelles bibliothèques .NET Framework sont nécessaires pour un programme particulier. Lorsque vous choisissez un «modèle» pour votre projet (tel que «Application Windows Forms»), l'une des choses que vous choisissez est l'ensemble spécifique d'espaces de noms qui seront automatiquement référencés dans votre projet. Cela rend le code dans ces espaces de noms disponibles pour votre programme.

Par exemple, certains des espaces de noms et les fichiers réels dans lesquels ils se trouvent pour une application Windows Forms sont:

Système> dans System.dll
System.Data> dans System.Data.dll
System.Deployment> System.Deployment.dll
System.Drawing> System.Drawing.dll
System.Windows.Forms> System.Windows.Forms.dll

Vous pouvez voir (et modifier) ​​les espaces de noms et les références de votre projet dans les propriétés du projet sous le Les références languette.

Cette façon de penser les espaces de noms les fait ressembler à la "bibliothèque de code", mais ce n'est qu'une partie de l'idée. Le véritable avantage des espaces de noms est l'organisation.

La plupart d'entre nous n'aurons pas la chance d'établir une nouvelle hiérarchie d'espace de noms car cela n'est généralement fait qu'une seule fois "au début" pour une bibliothèque de code volumineuse et compliquée. Mais, ici, vous apprendrez à interpréter les espaces de noms que l'on vous demandera d'utiliser dans de nombreuses organisations.

Que font les espaces de noms

Les espaces de noms permettent d'organiser les dizaines de milliers d'objets .NET Framework et tous les objets que les programmeurs VB créent également dans les projets, afin qu'ils ne se heurtent pas.

Par exemple, si vous recherchez .NET pour un Couleur objet, vous en trouvez deux. Il y a un Couleur objet dans les deux:

System.Drawing
System.Windows.Media

Si vous ajoutez un Importations pour les deux espaces de noms (une référence peut également être nécessaire pour les propriétés du projet)…

Imports System.Drawing
Imports System.Windows.Media

… Puis une déclaration comme…

Dim a As Color

… Sera signalé comme une erreur avec la note «La couleur est ambiguë» et .NET indiquera que les deux espaces de noms contiennent un objet portant ce nom. Ce type d'erreur est appelé «collision de noms».

C'est la vraie raison des «espaces de noms» et c'est aussi la façon dont les espaces de noms sont utilisés dans d'autres technologies (comme XML). Les espaces de noms permettent d'utiliser le même nom d'objet, tel que Couleur, quand le nom rentre et garde les choses organisées. Vous pouvez définir un Couleur objet dans votre propre code et le garder distinct de ceux de .NET (ou le code d'autres programmeurs).

Espace de noms MyColor
Couleur de classe publique
Couleur secondaire ()
' Faire quelque chose
End Sub
Fin de classe
End Namespace