Naamruimten in VB.NET

De meest gebruikelijke manier waarop VB.NET-naamruimten door de meeste programmeurs worden gebruikt, is door de compiler te vertellen welke .NET Framework-bibliotheken nodig zijn voor een bepaald programma. Wanneer u een "sjabloon" voor uw project kiest (zoals "Windows Forms Application"), is een van de dingen die u kiest de specifieke set naamruimten waarnaar automatisch in uw project wordt verwezen. Dit maakt de code in die naamruimten beschikbaar voor uw programma.

Enkele van de naamruimten en de werkelijke bestanden waarin ze zich bevinden voor een Windows Forms-toepassing zijn:

Systeem> 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

U kunt de naamruimten en referenties voor uw project zien (en wijzigen) in de projecteigenschappen onder de Referenties tab.

Door deze manier van denken over naamruimten lijken ze precies hetzelfde als "codebibliotheek", maar dat is slechts een deel van het idee. Het echte voordeel van naamruimten is organisatie.

De meesten van ons krijgen niet de kans om een ​​nieuwe naamruimtehiërarchie tot stand te brengen, omdat dit over het algemeen slechts één keer 'in het begin' wordt gedaan voor een grote en gecompliceerde codebibliotheek. Maar hier leert u hoe u de naamruimten interpreteert die u in veel organisaties moet gebruiken.

Wat naamruimten doen

Namespaces maken het mogelijk om de tienduizenden .NET Framework-objecten en alle objecten die VB-programmeurs in projecten maken, te organiseren, zodat ze niet botsen.

Als u bijvoorbeeld .NET zoekt naar een Kleur object, je vindt er twee. Er is een Kleur object in beide:

System.Drawing
System.Windows.Media

Als u een toevoegt invoer statement voor beide namespaces (een referentie kan ook nodig zijn voor de projecteigenschappen) ...

Importeert System.Tekening
Importeert System.Windows.Media

... dan een uitspraak als ...

Dim een ​​als kleur

... wordt gemarkeerd als een fout met de opmerking 'Kleur is dubbelzinnig' en .NET wijst erop dat beide naamruimten een object met die naam bevatten. Dit soort fouten wordt een "naambotsing" genoemd.

Dit is de echte reden voor "naamruimten" en het is ook de manier waarop naamruimten worden gebruikt in andere technologieën (zoals XML). Naamruimten maken het mogelijk om dezelfde objectnaam te gebruiken, zoals Kleur, wanneer de naam past en de zaken nog steeds georganiseerd houden. Je zou een kunnen definiëren Kleur object in uw eigen code en houd deze gescheiden van die in .NET (of de code van andere programmeurs).

Naamruimte MyColor
Public Class Color
Subkleur ()
' Doe iets
Einde Sub
Eindklasse
Naamruimte beëindigen