VB.NET: n Imports-lausunnon todellinen vaikutus aiheuttaa usein sekaannusta kieltä oppiville ihmisille. Ja vuorovaikutus VB.NET-referenssien kanssa lisää sekaannusta. Selvitämme tämän tässä pikavinkissä.
Tässä on lyhyt yhteenveto koko tarinasta. Sitten käydään läpi yksityiskohdat.
Viittaus VB.NET-nimitilaan on vaatimus, ja se on lisättävä projektiin, ennen kuin nimitilan objekteja voidaan käyttää. (Viitejoukko lisätään automaattisesti erilaisia malleja Visual Studiossa tai VB.NET Expressissä. Napsauta "Näytä kaikki tiedostot" Solution Explorerissa nähdäksesi, millaiset ne ovat.) Mutta Tuonti-lausunto ei ole vaatimus. Sen sijaan se on yksinkertaisesti koodausmukavuus, joka sallii lyhyempien nimien käytön.
Katsotaanpa nyt todellista esimerkkiä. Tämän idean havainnollistamiseksi käytämme järjestelmää. Tietojen nimitila - joka tarjoaa ADO.NET-tietotekniikan.
Järjestelmä. Tiedot lisätään Windows-sovelluksiin viitteinä oletuksena käyttämällä VB.NET Windows Forms Application -mallia.
Nimitilan lisääminen referenssikokoelmaan
Uuden nimitilan lisääminen referenssikokoelmaan projektissa tekee myös nimiavaruudessa olevat objektit käytettäväksi myös projektissa. Tämän näkyvin vaikutus on, että Visual Studio "Intellisense" auttaa sinua löytämään kohteita ponnahdusvalikkoikkunoissa.
Jos yrität käyttää objektia ohjelmassa ilman viitettä, koodirivi aiheuttaa virheen.
Sitä vastoin tuontitapahtumaa ei koskaan vaadita. Ainoa asia, jonka se tekee, on antaa nimelle mahdollisuus ratkaista ilman täydellistä pätevyyttä. Toisin sanoen (painotus lisätty erojen osoittamiseksi).
Tuonti Järjestelmä. data
Julkisen luokan lomake1
Perii järjestelmä. Windows. Lomakkeet. muoto
Yksityinen alamuoto1_lataus (...
Dim Test As OLEDB. OleDbCommand
End Sub
Loppu luokka
ja
Tuonti Järjestelmä. Data. OLEDB
Julkisen luokan lomake1
Perii järjestelmä. Windows. Lomakkeet. muoto
Yksityinen alamuoto1_lataus (...
Dim Test As OleDbCommand
End Sub
Loppu luokka
ovat molemmat vastaavia. Mutta ...
Tuonti Järjestelmä. data
Julkisen luokan lomake1
Perii järjestelmä. Windows. Lomakkeet. muoto
Yksityinen alamuoto1_lataus (...
Dim Test As OleDbCommand
End Sub
Loppu luokka
aiheuttaa syntaksivirheen ("Tyyppiä 'OleDbCommand' ei ole määritelty") johtuu Tuo nimitilan pätevyysjärjestelmä. Tiedot eivät tarjoa tarpeeksi tietoa objektin löytämiseksi OleDbCommand.
Vaikka nimien pätevyys omassa ohjelman lähdekoodi voidaan koordinoida millä tahansa tasolla 'näennäisellä' hierarkialla, sinun on silti valittava oikea nimitila viitteeksi. Esimerkiksi .NET tarjoaa järjestelmän. Verkon nimitila ja kokonainen luettelo muista, jotka alkavat järjestelmästä. Web ...
Huomautus
Viitteitä varten on kaksi täysin erilaista DLL-tiedostoa. Sinun on valittava oikea, koska WebService ei ole menetelmä yhdessä niistä.