VB.NET Импортира декларация срещу референции

click fraud protection

Действителният ефект от декларацията за импортиране във VB.NET често предизвиква объркване за хората, които учат езика. А взаимодействието с VB.NET References прави още повече объркване. Ще разясним това в този бърз съвет.

Ето кратко резюме на цялата история. След това ще прегледаме подробностите.

Препратка към VB.NET пространство от имена е изискване и трябва да се добави към проект, преди обектите в пространството от имена да могат да бъдат използвани. (Набор от референции се добавя автоматично за различни шаблони в Visual Studio или VB.NET Express. Кликнете върху „Покажи всички файлове“ в Explorer Explorer, за да видите какви са те.) Но декларацията за импортиране не е изискване. Вместо това, това е просто удобство за кодиране, което позволява да се използват по-кратки имена.

Сега нека разгледаме действителен пример. За да илюстрираме тази идея, ще използваме Системата. Пространство от имена на данни - което осигурява ADO.NET технология за данни.

Система. Данните се добавят към приложенията на Windows като Справочник по подразбиране с помощта на шаблона за приложение VB.NET Windows Forms.

instagram viewer

Добавяне на пространство от имена в колекцията от препоръки

Добавянето на ново пространство на имена в колекцията от препратки в проекта прави обектите в това пространство от имена достъпни и за проекта. Най-видимият ефект от това е, че Visual Studio "Intellisense" ще ви помогне да намерите обектите в полетата на изскачащото меню.

Ако се опитате да използвате обект във вашата програма без Справка, редът на кода генерира грешка.

От друга страна, декларацията за внос никога не се изисква. Единственото, което прави, е да разреши името да бъде разрешено, без да е напълно квалифицирано. С други думи (акцент се добавя, за да се покажат разликите).

 Вносът Система. Данни

 Форма за публичен клас1

 Наследствена система. Windows. Форми. форма

 Private Sub Form1_Load (...

 Dim тест като OLEDB. OleDbCommand

 Край Sub

 Краен клас 

и

 Вносът Система. Данни. OLEDB

 Форма за публичен клас1

 Наследствена система. Windows. Форми. форма

 Private Sub Form1_Load (...

 Dim тест като OleDbCommand

 Край Sub

 Краен клас 

и двете са равностойни. Но ...

 Вносът Система. Данни

 Форма за публичен клас1

 Наследствена система. Windows. Форми. форма

 Private Sub Form1_Load (...

 Dim тест като OleDbCommand

 Край Sub

 Краен клас 

води до синтактична грешка ("Тип" OleDbCommand "не е дефиниран") поради Импортира пространството от имена квалификационна система. Данните не предоставят достатъчно информация за намиране на обекта OleDbCommand.

Въпреки че квалификацията на имената във вашия програмен изходен код може да бъде координиран на всяко ниво в „привидната“ йерархия, все пак трябва да изберете правилното пространство на имена, за да се позовавате. Например. .NET предоставя система. Уеб пространство на имена и цял списък с други, започващи със System. Уеб ...

Забележка

Има два напълно различни DLL файла за препратките. НЕ трябва да изберете правилния, защото WebService не е метод в един от тях.

instagram story viewer