Instrukcja importu VB.NET a referencje

Rzeczywisty efekt instrukcji Imports w VB.NET jest często źródłem nieporozumień dla osób uczących się języka. A interakcja z referencjami VB.NET powoduje jeszcze więcej zamieszania. Wyjaśnimy to w tej Szybkiej Poradzie.

Oto krótkie podsumowanie całej historii. Następnie omówimy szczegóły.

Odwołanie do przestrzeni nazw VB.NET jest wymaganiem i musi zostać dodane do projektu, aby można było użyć obiektów w przestrzeni nazw. (Zestaw referencji jest automatycznie dodawany do pliku różne szablony w Visual Studio lub VB.NET Express. Kliknij „Pokaż wszystkie pliki” w Eksploratorze rozwiązań, aby zobaczyć, jakie to są.) Jednak instrukcja Import nie jest wymagana. Zamiast tego jest to po prostu wygoda kodowania, która umożliwia stosowanie krótszych nazw.

Spójrzmy teraz na prawdziwy przykład. Aby zilustrować ten pomysł, użyjemy Systemu. Przestrzeń nazw danych - która zapewnia technologię danych ADO.NET.

System. Dane są domyślnie dodawane do aplikacji Windows jako odniesienie przy użyciu szablonu aplikacji Windows Forms VB.NET.

instagram viewer

Dodawanie przestrzeni nazw w kolekcji References

Dodanie nowej przestrzeni nazw do kolekcji References w projekcie powoduje, że obiekty w tej przestrzeni nazw są również dostępne dla projektu. Najbardziej widocznym efektem tego jest to, że Visual Studio „Intellisense” pomoże ci znaleźć obiekty w oknach menu podręcznego.

Jeśli spróbujesz użyć obiektu w programie bez odwołania, wiersz kodu generuje błąd.

Z drugiej strony, instrukcja Imports nigdy nie jest wymagana. Jedyne, co robi, to pozwala na rozwiązanie nazwy bez pełnej kwalifikacji. Innymi słowy (podkreślenie dodane, aby pokazać różnice).

 Import System. Dane

 Formularz klasy publicznej 1

 Dziedziczy system. Windows Formularze Formularz

 Sub-prywatny formularz Form1_Load (...

 Dim Test As OleDb. OleDbCommand

 Napis końcowy

 Klasa końcowa 

i

 Import System. Dane. OleDb

 Formularz klasy publicznej 1

 Dziedziczy system. Windows Formularze Formularz

 Sub-prywatny formularz Form1_Load (...

 Dim Test As OleDbCommand

 Napis końcowy

 Klasa końcowa 

oba są równoważne. Ale ...

 Import System. Dane

 Formularz klasy publicznej 1

 Dziedziczy system. Windows Formularze Formularz

 Sub-prywatny formularz Form1_Load (...

 Dim Test As OleDbCommand

 Napis końcowy

 Klasa końcowa 

powoduje błąd składni („Typ„ OleDbCommand ”nie jest zdefiniowany”) z powodu Importuje przestrzeń nazw System kwalifikacji. Dane nie dostarczają wystarczających informacji, aby znaleźć obiekt OleDbCommand.

Chociaż kwalifikacja nazwisk w twoim kod źródłowy programu można koordynować na dowolnym poziomie w „pozornej” hierarchii, nadal musisz wybrać odpowiednią przestrzeń nazw, do której chcesz się odwoływać. Na przykład .NET zapewnia system. Przestrzeń nazw internetowych i cała lista innych zaczynających się na System. Internet ...

Uwaga

Istnieją dwa zupełnie różne pliki DLL dla odniesień. Musisz wybrać właściwy, ponieważ WebService nie jest metodą w jednym z nich.

instagram story viewer