Menné priestory vo VB.NET
Klaus Vedfelt/Taxi/Getty Images
Najbežnejší spôsob, akým priestory názvov VB.NET používa väčšina programátorov je povedať kompilátoru, ktoré knižnice .NET Framework sú potrebné pre konkrétny program. Keď si vyberiete „šablónu“ pre svoj projekt (napríklad „Windows Forms Application“), jednou z vecí, ktoré si vyberáte, je špecifická množina menných priestorov, na ktoré bude váš projekt automaticky odkazovať. To sprístupní kód v týchto menných priestoroch vášmu programu.
Napríklad niektoré priestory názvov a skutočné súbory, v ktorých sa nachádzajú, pre aplikáciu Windows Forms sú:
Systém > v System.dll
System.Data > v System.Data.dll
System.Deployment > System.Deployment.dll
System.Drawing > System.Drawing.dll
System.Windows.Forms > System.Windows.Forms.dll
Priestory názvov a referencie pre svoj projekt môžete vidieť (a zmeniť) vo vlastnostiach projektu pod Referencie tab.
Tento spôsob uvažovania o menných priestoroch spôsobuje, že sa zdajú byť to isté ako „knižnica kódu“, ale to je len časť myšlienky. Skutočnou výhodou menných priestorov je organizácia.
Väčšina z nás nedostane príležitosť vytvoriť novú hierarchiu menného priestoru, pretože sa to zvyčajne robí len raz „na začiatku“ pre veľkú a komplikovanú kódovú knižnicu. Ale tu sa dozviete, ako interpretovať menné priestory, ktoré budete musieť použiť v mnohých organizáciách.
Čo robia menné priestory
Priestory názvov umožňujú organizovať desiatky tisíc objektov .NET Framework a všetky objekty, ktoré programátori VB vytvárajú v projektoch, takže si navzájom nekolidujú.
Napríklad, ak hľadáte .NET pre a Farba objekt, nájdete dva. Existuje a Farba objekt v oboch:
|_+_|
Ak pridáte Dovoz príkaz pre oba menné priestory (odkaz môže byť potrebný aj pre vlastnosti projektu) ...
|_+_|... potom vyhlásenie ako ...
|_+_|
... bude označený ako chyba s poznámkou 'Farba je nejednoznačná' a .NET upozorní, že oba menné priestory obsahujú objekt s týmto názvom. Tento druh chyby sa nazýva „kolízia mien“.
Toto je skutočný dôvod pre 'namespaces' a je to aj spôsob, akým sa menné priestory používajú v iných technológiách (ako je XML). Menné priestory umožňujú použiť rovnaký názov objektu, ako napr Farba , keď sa názov hodí a stále máte vo veciach poriadok. Môžete definovať a Farba objekt vo svojom vlastnom kóde a odlíšte ho od kódov v .NET (alebo kódu iných programátorov).
|_+_|
Môžete tiež použiť Farba objekt niekde inde vo vašom programe, ako je tento:
|_+_|Skôr 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 ( WindowsAplikácia1 pre aplikáciu štandardných formulárov, ak ho nezmeníte) ako predvolený priestor názvov. Aby ste to videli, vytvorte nový projekt (použili sme názov NSPros a vyskúšajte nástroj Prehliadač objektov):
- Kliknite Tu na zobrazenie ilustrácie
- Kliknite na späť v prehliadači sa vrátite
Prehliadač objektov zobrazuje váš nový menný priestor projektu (a automaticky definované objekty v ňom) priamo spolu s mennými priestormi .NET Framework. Táto schopnosť VB.NET urobiť z vašich objektov rovnocenné objekty .NET je jedným z kľúčov k sile a flexibilite. To je napríklad dôvod, prečo Intellisense zobrazí vaše vlastné objekty hneď, ako ich definujete.
Aby sme to nakopli, definujme nový projekt (pomenovali sme náš NewNSProj v rovnakom roztoku (použite Súbor > Pridať > Nový projekt ... ) a nakódujte nový menný priestor v tomto projekte. A aby to bolo zábavnejšie, vložme nový menný priestor do nového modulu (pomenovali sme ho NewNSMod ). A keďže objekt musí byť kódovaný ako trieda, pridali sme aj blok triedy (pomenovaný NewNSObj ). Tu je kód a Prieskumník riešení, aby ste ukázali, ako to do seba zapadá:
- Kliknite Tu na zobrazenie ilustrácie
- Kliknite na späť v prehliadači sa vrátite
Keďže váš vlastný kód je „rovnako ako kód Frameworku“, je potrebné pridať odkaz na NewNSMod v NSPros použiť objekt v mennom priestore, aj keď sú v rovnakom riešení. Keď to urobíte, môžete deklarovať objekt NSPros na základe metódy v NewNSMod . Musíte tiež „zostaviť“ projekt tak, aby existoval skutočný objekt, na ktorý možno odkazovať.
|_+_|To je dosť Dim vyhlásenie však. Môžeme to skrátiť použitím an Dovoz vyhlásenie s aliasom.
|_+_|Kliknutím na tlačidlo Spustiť sa zobrazí MsgBox z menného priestoru AVBNS: „Hej! Fungovalo to!'
Kedy a prečo používať menné priestory
Všetko doteraz naozaj len bolo syntax - kódovanie pravidlá, ktoré musíte dodržiavať pri používaní menných priestorov. Ale na to, aby ste to naozaj využili, potrebujete dve veci:
- Požiadavka na organizáciu menného priestoru na prvom mieste. Potrebujete viac než len projekt „Hello World“, kým sa organizácia menných priestorov začne vyplácať.
- Plán ich použitia.
Všeobecne, Microsoft odporúča, aby ste kód organizácie usporiadali pomocou kombinácie názvu vašej spoločnosti s názvom produktu.
Ak ste napríklad hlavný softvérový architekt pre plastickú chirurgiu Dr. No's Nos Knows, potom možno budete chcieť usporiadať svoje menné priestory ako ...
|_+_|Je to podobné ako organizácia .NET...
|_+_|Viacúrovňové menné priestory sú dosiahnuté jednoduchým vnorením blokov menného priestoru.
|_+_|alebo
|_+_|