VB.NET Imports Statement versus Reference

Skutočný účinok vyhlásenia Imports vo VB.NET je často zdrojom zmätku pre ľudí, ktorí sa učia jazyk. A interakcia s VB.NET References spôsobuje ešte viac zmätku. Toto objasníme tento rýchly tip.

Tu je stručné zhrnutie celého príbehu. Potom sa pozrieme na podrobnosti.

Odkaz na menný priestor VB.NET je požiadavka a pred použitím objektov v mennom priestore sa musí do projektu pridať. (Súbor referenčných údajov sa automaticky pridá pre rôzne šablóny vo Visual Studio alebo VB.NET Express. Kliknutím na položku Zobraziť všetky súbory v aplikácii Solution Explorer zobrazíte, čo to je.) Vyhlásenie Imports však nie je povinné. Namiesto toho je to jednoducho výhoda kódovania, ktorá umožňuje použitie kratších názvov.

Teraz sa pozrime na skutočný príklad. Na ilustráciu tohto nápadu použijeme systém. Dátový priestor mien - ktorý poskytuje technológiu údajov ADO.NET.

Systém. Dáta sa do aplikácií Windows pridávajú ako referencia v predvolenom nastavení pomocou šablóny aplikácie Windows Forms VB.NET.

Pridanie priestoru názvov do zbierky odkazov

instagram viewer

Pridanie nového priestoru názvov do zbierky Referencie v projekte sprístupní aj objekty v tomto priestore názvov. Najviditeľnejším efektom je, že Visual Studio „Intellisense“ vám pomôže nájsť objekty v rozbaľovacích ponukách.

Ak sa pokúsite použiť objekt v programe bez referencie, riadok kódu vygeneruje chybu.

Na druhej strane, vyhlásenie o dovoze sa nikdy nevyžaduje. Jediné, čo robí, je umožniť rozlíšenie názvu bez úplnej kvalifikácie. Inými slovami (dôraz sa kladie na zvýraznenie rozdielov).

 dovoz Systém. údaje

 Formulár verejnej triedy1

 Zdedí systém. Windows. Formy. formulár

 Súkromný pod Form1_Load (...

 Dim Test As OLEDB. OleDbCommand

 End Sub

 Koncová trieda 

a

 dovoz Systém. Data. OLEDB

 Formulár verejnej triedy1

 Zdedí systém. Windows. Formy. formulár

 Súkromný pod Form1_Load (...

 Dim Test As OleDbCommand

 End Sub

 Koncová trieda 

sú ekvivalentné. Ale ...

 dovoz Systém. údaje

 Formulár verejnej triedy1

 Zdedí systém. Windows. Formy. formulár

 Súkromný pod Form1_Load (...

 Dim Test As OleDbCommand

 End Sub

 Koncová trieda 

má za následok chybu syntaxe („Typ„ OleDbCommand “nie je definovaný“) z dôvodu Importuje menný priestor kvalifikačný systém. Dáta neposkytujú dostatok informácií na nájdenie objektu OleDbCommand.

Aj keď kvalifikácia mien vo vašom zdrojový kód programu môžu byť koordinované na akejkoľvek úrovni v „zjavnej“ hierarchii, stále musíte vybrať ten správny menný priestor, na ktorý sa chcete odvolávať. Napríklad .NET poskytuje systém. Webový menný priestor a celý zoznam ďalších, ktoré začínajú systémom. Web ...

Poznámka

Pre referencie existujú dva úplne odlišné súbory DLL. Musíte si vybrať ten správny, pretože služba WebService nie je metódou v jednom z nich.