VB.NET impordi avaldus versus viited

VB.NET-i impordi avalduse tegelik mõju põhjustab keelt õppivatele inimestele sageli segadust. Ja koostoime VB.NET-i viidetega tekitab veelgi rohkem segadust. Selle lühikese näpunäite käigus selgitame välja.

Siin on lühike kokkuvõte kogu loost. Siis käsitleme üksikasju.

Viide VB.NET-nimeruumile on nõue ja see tuleb projekti lisada enne nimeruumi objektide kasutamist. (Viidete komplekt lisatakse automaatselt andmebaasile erinevad mallid Visual Stuudios või VB.NET Expressis. Klõpsake Solution Exploreris nuppu „Kuva kõik failid”, et näha, millised need on.) Kuid avaldus Importimine ei ole kohustuslik. Selle asemel on lihtsalt kodeerimise mugavus, mis võimaldab kasutada lühemaid nimesid.

Vaatame nüüd tegelikku näidet. Selle idee illustreerimiseks kasutame süsteemi. Andme nimeruum - mis pakub ADO.NET-i andmesidetehnoloogiat.

Süsteem. Andmed lisatakse Windowsi rakendustesse vaikimisi viitena, kasutades VB.NET Windowsi vormide rakenduse malli.

Nimeruumi lisamine viidete kogusse

Uue nimeruumi lisamine projektis olevale viidete kogule muudab selle nimeruumi objektid ka projekti jaoks kättesaadavaks. Selle kõige nähtavam efekt on see, et Visual Studio "Intellisense" aitab teil hüpikmenüü kastides olevaid objekte leida.

instagram viewer

Kui proovite oma programmis objekti kasutada ilma viiteta, tekitab koodirida tõrke.

Teisest küljest pole impordi avaldust kunagi vaja. Ainus, mida see teeb, on see, et nimi saab lahendatud ilma täieliku kvalifikatsioonita. Teisisõnu (rõhk on lisatud erinevuste näitamiseks).

 Import Süsteem. Andmed

 Avaliku klassi vorm1

 Pärib süsteemi. Windows. Vormid. Vorm

 Privaatne alavorm1_koormus (...

 Dim Test As OleDb. OleDbCommand

 Lõpu alam

 Lõpuklass 

ja

 Import Süsteem. Andmed. OleDb

 Avaliku klassi vorm1

 Pärib süsteemi. Windows. Vormid. Vorm

 Privaatne alavorm1_koormus (...

 Dim Test As OleDbCommand

 Lõpu alam

 Lõpuklass 

on mõlemad samaväärsed. Aga ...

 Import Süsteem. Andmed

 Avaliku klassi vorm1

 Pärib süsteemi. Windows. Vormid. Vorm

 Privaatne alavorm1_koormus (...

 Dim Test As OleDbCommand

 Lõpu alam

 Lõpuklass 

tulemuseks on süntaksiviga ("Tüüpi 'OleDbCommand' ei ole määratletud"), kuna Impordib nimeruumi kvalifikatsioonisüsteem. Andmed ei anna objekti OleDbCommand leidmiseks piisavalt teavet.

Kuigi nimede kvalifitseerimine teie programmi lähtekood saab nähtava hierarhia igal tasandil koordineerida, peate ikkagi valima viitamiseks õige nimeruumi. Näiteks pakub .NET süsteemi. Veebinimeruum ja terve nimekiri teistest alustades süsteemist. Võrk ...

Märge

Viidete jaoks on kaks täiesti erinevat DLL-faili. Peate valima õige, kuna WebService pole üheski neist meetod.