Používanie priestoru názvov vo VB.NET

click fraud protection

Najbežnejší spôsob, akým sa najviac používajú namespaces VB.NET programátori je povedať kompilátoru, ktoré knižnice .NET Framework sú potrebné pre konkrétny program. Keď pre svoj projekt vyberiete „šablónu“ (napríklad „Windows Forms Application“), jedna z vecí že ste si vybrali, je špecifická množina menných priestorov, na ktoré sa vo vašom Projekt. Týmto sa kód v týchto menných priestoroch sprístupní vášmu programu.

Napríklad niektoré z názvových priestorov a skutočných súborov, v ktorých sa nachádzajú v aplikácii Windows Forms, sú:

Systém> v System.dll
Systém. Údaje> v systéme. Data.dll
Systém. Nasadenie> Systém. Deployment.dll
Systém. Kreslenie> Systém. Drawing.dll
Systém. Windows. Formuláre> Systém. Windows. Forms.dll

Môžete vidieť (a zmeniť) menné priestory a referencie pre svoj projekt vo vlastnostiach projektu v časti Referencie tab.

Tento spôsob premýšľania o menných priestoroch ich robí rovnako ako „knižnica kódov“, ale to je len časť tejto myšlienky. Skutočnou výhodou priestoru názvov je organizácia.

instagram viewer

Väčšina z nás nebude mať šancu vytvoriť novú hierarchiu priestoru názvov, pretože pre veľkú a komplikovanú knižnicu kódov sa spravidla vykonáva iba raz „na začiatku“. Tu sa však dozviete, ako interpretovať priestory mien, ktoré budete musieť použiť v mnohých organizáciách.

Čo Namespaces robiť

Namespaces umožňujú organizovať desiatky tisíc objektov .NET Framework a všetky objekty, ktoré programátori VB vytvárajú, aj v projektoch, takže sa nezhodujú.

Napríklad, ak hľadáte .NET pre farba objekt, nájdete dva. Existuje a farba objekt v oboch:

Systém. kreslenie
Systém. Windows. Media

Ak pridáte znak dovoz vyhlásenie pre obidva priestory mien (referencia môže byť tiež potrebná pre vlastnosti projektu) ...

Dovozný systém. kreslenie
Dovozný systém. Windows. Media

... potom vyhlásenie ako ...

Dim a As Color

... bude označená ako chyba s poznámkou „Farba je nejednoznačná“ a .NET upozorní na to, že obidva priestory mien obsahujú objekt s týmto menom. Tento druh chyby sa nazýva „kolízia mien“.

Toto je skutočný dôvod pre „namespaces“ a tiež to, ako sa namespaces používajú v iných technológiách (napríklad XML). Namespaces umožňujú používať rovnaký názov objektu, napríklad farba, keď meno vyhovuje a stále udržuje veci usporiadané. Dalo by sa definovať farba objekt vo vašom vlastnom kóde a udržujte ho odlišný od tých v .NET (alebo kóde iných programátorov).

Namespace MyColor
Farba verejnej triedy
Podfarbenie ()
' Urob niečo
End Sub
Koncová trieda
Koniec namespace

Môžete tiež použiť farba objekt niekde inde vo vašom programe, ako je tento:

Dim c As New MyColor. farba
c. Farba ()

Predtým, ako sa pustíte do niektorých ďalších funkcií, uvedomte si, že každý projekt je obsiahnutý v mennom priestore. VB.NET používa názov vášho projektu (WindowsApplication1 pre štandardnú aplikáciu formulárov, ak ju nezmeníte) ako predvolený priestor názvov. Ak to chcete vidieť, vytvorte nový projekt (použili sme názov NSProj a vyskúšajte nástroj na prehliadanie objektov):

  1. cvaknutie Tu na zobrazenie obrázka
  2. Kliknite na ikonu späť v prehliadači sa vráťte

Prehliadač objektov zobrazuje nový menný priestor projektu (a automaticky definované objekty v ňom) spolu s mennými priestormi .NET Framework. Táto schopnosť VB.NET, aby sa vaše objekty rovnali objektom .NET, je jedným z kľúčov k výkonu a flexibilite. Preto napríklad Intellisense zobrazí vaše vlastné objekty, len čo ich definujete.

Aby sme to vykopali, definujme nový projekt (pomenovali sme náš NewNSProj v rovnakom roztoku (použitie súbor > pridať > Nový projekt ...) a kódujte nový menný priestor v tomto projekte. A aby to bolo zábavnejšie, dajte nový menný priestor do nového modulu (pomenovali sme ho NewNSMod). A keďže objekt musí byť kódovaný ako trieda, pridali sme tiež blok triedy (pomenovaný NewNSObj). Tu je kód a nástroj Solution Explorer, ktorý ukazuje, ako to spolu zapadá:

  1. cvaknutie Tu na zobrazenie obrázka
  2. Kliknite na ikonu späť v prehliadači sa vráťte

Pretože váš vlastný kód je „rovnako ako rámcový kód“, je potrebné k nemu pridať odkaz NewNSMod v NSProj použiť objekt v mennom priestore, aj keď sú v rovnakom riešení. Po dokončení môžete objekt deklarovať NSProj na základe metódy v NewNSMod. Musíte tiež „zostaviť“ projekt, aby existoval skutočný objekt, na ktorý sa dá odkazovať.

Dim o As New NewNSProj. AVBNS.NewNSMod. NewNSObj
o. AVBNSMethod ()

To je celkom Dim vyhlásenie však. Môžeme to skrátiť pomocou dovoz vyhlásenie s aliasom.

Dovoz NS = NewNSProj. AVBNS.NewNSMod. NewNSObj
...
Dim o As New NS
o. AVBNSMethod ()

Kliknutím na tlačidlo Spustiť zobrazíte MsgBox z menného priestoru AVBNS: „Hej! Fungovalo to!"

Kedy a prečo používať priestor názvov

Všetko doteraz bolo naozaj syntax - kódovanie pravidlá, ktoré musíte pri používaní menných priestorov dodržiavať. Aby ste mohli skutočne využiť, musíte mať dve veci:

  • Na prvom mieste je požiadavka na organizáciu namespace. Potrebujete viac ako len projekt „Hello World“, než sa organizácia názvových priestorov začne vyplácať.
  • Plán ich použitia.

Všeobecne, Microsoft odporúča, aby ste si usporiadali kód svojej organizácie kombináciou názvu spoločnosti s názvom produktu.

Napríklad, ak ste hlavným softvérovým architektom pre Dr. No's Nose, ktorý pozná plastickú chirurgiu, možno budete chcieť usporiadať svoje menné priestory, napríklad ...

DRNo
konzultačná
ReadTheirWatchNChargeEm
TellEmNuthin
chirurgia
ElephantMan
MyEyeLidsRGone

Je to podobné ako organizácia .NET ...

objekt
systém
jadro
IO
Linq
údaje
ODBC
sql

Viacúrovňové menné priestory sa dosahujú jednoduchým vnorením blokov menného priestoru.

Namespace DRNo
Chirurgia v mennom priestore
Namespace MyEyeLidsRGone
'VB Code
Koniec namespace
Koniec namespace
Koniec namespace

alebo

Namespace DRNo. Ordinácie. MyEyeLidsRGone
'VB Code
Koniec namespace
instagram story viewer