Det vanligaste sättet att VB.NET-namnutrymmen används av de flesta programmerare är att berätta kompilatorn vilka .NET Framework-bibliotek som behövs för ett visst program. När du väljer en "mall" för ditt projekt (t.ex. "Windows Forms Application") är en av de saker du väljer den specifika uppsättningen av namnutrymmen som automatiskt kommer att refereras till i ditt projekt. Detta gör koden i de namnområdena tillgängliga för ditt program.
Exempelvis är några av namnområdena och de faktiska filerna de finns i en Windows Forms-applikation:
System> i System.dll
System.Data> i System.Data.dll
System.Deployment> System.Deployment.dll
System.Drawing> System.Drawing.dll
System.Windows.Forms> System.Windows.Forms.dll
Du kan se (och ändra) namnutrymmen och referenser för ditt projekt i projektegenskaperna under referenser flik.
Detta sätt att tänka på namnområden gör att de verkar vara samma sak som "kodbibliotek", men det är bara en del av idén. Den verkliga fördelen med namnområden är organisation.
De flesta av oss kommer inte att få chansen att skapa en ny namnutrymmehierarki eftersom det vanligtvis bara görs en gång "i början" för ett stort och komplicerat kodbibliotek. Men här kommer du att lära dig att tolka namnområdena som du kommer att bli ombedd att använda i många organisationer.
Namnområden gör det möjligt att organisera de tiotusentals .NET Framework-objekten och alla objekt som VB-programmerare skapar också i projekt, så att de inte kolliderar.
Om du till exempel söker .NET efter en Färg objekt hittar du två. Det finns en Färg objekt i båda:
System.Drawing
System.Windows.Media
Om du lägger till en import uttalande för båda namnområdena (en referens kan också vara nödvändig för projektegenskaperna) ...
Importerar system.Teckning
Importerar System.Windows.Media
... då ett uttalande som ...
Dim en som färg
... kommer att flaggas som ett fel med anteckningen "Färg är tvetydig" och. NET påpekar att båda namnområdena innehåller ett objekt med det namnet. Den här typen av fel kallas en "namnet kollision."
Det här är det verkliga skälet till "namnutrymmen" och det är också hur namnutrymmen används i andra teknologier (som XML). Namnområden gör det möjligt att använda samma objektnamn, t.ex. Färg, när namnet passar och fortfarande håller saker organiserade. Du kan definiera en Färg objekt i din egen kod och hålla den åtskild från dem i .NET (eller koden för andra programmerare).
Namnområdet MyColor
Offentlig klassfärg
Underfärg ()
' Göra någonting
Avsluta under
Slutklass
Slut namnområde