Efectul efectiv al declarației Imports în VB.NET este adesea o sursă de confuzie pentru persoanele care învață limba. Iar interacțiunea cu VB.NET References face și mai multă confuzie. Vom clarifica acest lucru în acest sfat rapid.
Iată un scurt rezumat al întregii povești. Apoi vom trece peste detalii.
O referință la un spațiu de nume VB.NET este o cerință și trebuie adăugată la un proiect înainte ca obiectele din spațiul de nume să poată fi utilizate. (Un set de referințe este adăugat automat pentru diferite șabloane în Visual Studio sau VB.NET Express. Faceți clic pe „Afișați toate fișierele” din Solutorul Explorator pentru a vedea care sunt acestea.) Dar declarația Importuri nu este o cerință. În schimb, este pur și simplu o comoditate de codare care permite utilizarea unor nume mai scurte.
Acum să ne uităm la un exemplu real. Pentru a ilustra această idee, vom folosi Sistemul. Data namespace - care oferă tehnologia de date ADO.NET.
Sistem. Datele sunt adăugate la aplicațiile Windows ca referință în mod implicit folosind șablonul de aplicație Windows Forms VB.NET.
Adăugarea unui spațiu de nume în colecția de referințe
Adăugarea unui spațiu de nume nou la colecția de referințe într-un proiect face ca obiectele din acel spațiu de nume să fie disponibile și proiectului. Cel mai vizibil efect al acestui lucru este că Visual Studio „Intellisense” vă va ajuta să găsiți obiectele în casetele de meniu pop-up.
Dacă încercați să utilizați un obiect din programul dvs. fără o referință, linia de cod generează o eroare.
În schimb, declarația Imports nu este necesară. Singurul lucru pe care îl face este să permită soluționarea numelui fără a fi complet calificat. Cu alte cuvinte (accentul adăugat pentru a arăta diferențele).
importurile Sistem. Date
Clasa publică Form1
Sistem de moștenire. Windows. Formulare. Formă
Sub Formular privat1_Load (...
Test Dim As OLEDB. OleDbCommand
Sub final
Clasa finală
și
importurile Sistem. Date. OLEDB
Clasa publică Form1
Sistem de moștenire. Windows. Formulare. Formă
Sub Formular privat1_Load (...
Test Dim As OleDbCommand
Sub final
Clasa finală
sunt ambele echivalente. Dar ...
importurile Sistem. Date
Clasa publică Form1
Sistem de moștenire. Windows. Formulare. Formă
Sub Formular privat1_Load (...
Test Dim As OleDbCommand
Sub final
Clasa finală
are ca rezultat o eroare de sintaxă („Tip„ OleDbCommand ”nu este definit”) din cauza Importă spațiul de nume Sistem de calificare Datele nu oferă suficiente informații pentru a găsi obiectul OleDbCommand.
Deși calificarea numelor din dvs. cod sursă program poate fi coordonat la orice nivel din ierarhia „aparentă”, trebuie să alegeți încă spațiul de nume potrivit pentru referință. De exemplu, .NET oferă un sistem. Spațiu de nume web și o listă completă de alte persoane care încep cu System. Web ...
Notă
Există două fișiere DLL complet diferite pentru referințe. Trebuie să alegeți cea potrivită, deoarece WebService nu este o metodă în una dintre ele.