Namespaces in VB.NET

VB.NET-Namespaces werden von den meisten Programmierern am häufigsten verwendet, um dem Compiler mitzuteilen, welche .NET Framework-Bibliotheken für ein bestimmtes Programm benötigt werden. Wenn Sie eine "Vorlage" für Ihr Projekt auswählen (z. B. "Windows Forms-Anwendung"), wählen Sie unter anderem die spezifischen Namespaces aus, auf die in Ihrem Projekt automatisch verwiesen wird. Dadurch steht der Code in diesen Namespaces Ihrem Programm zur Verfügung.

Einige der Namespaces und die tatsächlichen Dateien, in denen sie sich für eine Windows Forms-Anwendung befinden, lauten beispielsweise:

System> in System.dll
System.Data> in System.Data.dll
System.Deployment> System.Deployment.dll
System.Drawing> System.Drawing.dll
System.Windows.Forms> System.Windows.Forms.dll

Sie können die Namespaces und Referenzen für Ihr Projekt in den Projekteigenschaften unter sehen (und ändern) Verweise Tab.

Diese Art, über Namespaces nachzudenken, scheint dasselbe zu sein wie "Codebibliothek", aber das ist nur ein Teil der Idee. Der eigentliche Vorteil von Namespaces ist die Organisation.

Die meisten von uns haben nicht die Möglichkeit, eine neue Namespace-Hierarchie einzurichten, da dies für eine große und komplizierte Codebibliothek in der Regel nur einmal am Anfang erfolgt. In diesem Abschnitt erfahren Sie jedoch, wie Sie die Namespaces interpretieren, die in vielen Organisationen verwendet werden sollen.

Was Namespaces tun

Mit Namespaces können Zehntausende von .NET Framework-Objekten und alle Objekte, die VB-Programmierer in Projekten erstellen, organisiert werden, damit sie nicht in Konflikt geraten.

Zum Beispiel, wenn Sie in .NET nach einem suchen Farbe Objekt finden Sie zwei. Da ist ein Farbe Objekt in beiden:

System.Drawing
System.Windows.Media

Wenn Sie eine hinzufügen Importe Anweisung für beide Namespaces (ein Verweis kann auch für die Projekteigenschaften erforderlich sein)…

Importiert System.Drawing
Importiert System.Windows.Media

… Dann eine Aussage wie…

Verdunkeln Sie eine As-Farbe

… Wird als Fehler mit dem Hinweis "Farbe ist mehrdeutig" gekennzeichnet und .NET weist darauf hin, dass beide Namespaces ein Objekt mit diesem Namen enthalten. Diese Art von Fehler wird als "Namenskollision" bezeichnet.

Dies ist der eigentliche Grund für "Namespaces" und auch die Art und Weise, wie Namespaces in anderen Technologien (wie z. B. XML) verwendet werden. Namespaces ermöglichen die Verwendung desselben Objektnamens wie z Farbe, wenn der Name passt und trotzdem Ordnung hält. Sie könnten ein definieren Farbe Objekt in Ihrem eigenen Code und unterscheiden Sie es von denen in .NET (oder dem Code anderer Programmierer).

Namespace MyColor
Öffentliche Klasse Farbe
Unterfarbe ()
' Etwas tun
End Sub
Klasse beenden
Namespace beenden