Използване на пространства от имена във VB.NET

click fraud protection

Най-често срещаният начин за използване на VB.NET пространства от имена от повечето програмисти е да се каже на компилатора кои библиотеки .NET Framework са необходими за определена програма. Когато изберете "шаблон" за вашия проект (например "Заявление за формуляри на Windows") едно от нещата който избирате е специфичният набор от пространства от имена, които автоматично ще бъдат посочени във вашия проект. Това прави кода в тези пространства от имена достъпен за вашата програма.

Например, някои от пространствата с имена и действителните файлове, в които се намират за приложение за Windows Forms, са:

Система> в System.dll
Система. Данни> в System. Data.dll
Система. Разгръщане> Система. Deployment.dll
Система. Рисуване> Система. Drawing.dll
Система. Windows. Форми> Система. Windows. Forms.dll

Можете да видите (и промените) пространствата с имена и референции за вашия проект в свойствата на проекта под Препратки раздел.

Този начин на мислене за пространствата от имена ги кара да изглеждат едно и също нещо като „библиотека с кодове“, но това е само част от идеята. Истинската полза от пространствата с имена е организацията.

instagram viewer

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

Какво правят пространствата на имената

Пространствата на имената позволяват да се организират десетките хиляди .NET Framework обекти и всички обекти, които VB програмистите създават в проекти също, така че да не се сблъскват.

Например, ако търсите .NET за цвят обект, намирате две. Има цвят обект и в двете:

Система. Рисуване
Система. Windows. средства

Ако добавите Вносът оператор за двете пространства от имена (може да е необходима и референция за свойствата на проекта) ...

Система за внос. Рисуване
Система за внос. Windows. средства

... след това изявление като ...

Dim a като цвят

... ще бъде маркиран като грешка с бележката, "Цветът е двусмислен" и .NET ще посочи, че и двете пространства от имена съдържат обект с това име. Този вид грешка се нарича „сблъсък на име“.

Това е истинската причина за „пространства с имена“ и това е начинът, по който се използват пространства с имена в други технологии (като XML). Пространствата от имена позволяват използването на същото име на обект, като например цвят, когато името пасва и продължава да организира нещата. Бихте могли да определите a цвят обект във вашия собствен код и го дръжте различен от тези в .NET (или кода на други програмисти).

Пространство с имена MyColor
Цвят на публичния клас
Подцветен ()
' Направи нещо
Край Sub
Краен клас
Крайно пространство на имената

Можете също да използвате цвят обект някъде другаде в програмата си така:

Dim c като нов MyColor. цвят
° С. Цвят ()

Преди да влезете в някои от другите функции, имайте предвид, че всеки проект се съдържа в пространство от имена. VB.NET използва името на вашия проект (WindowsApplication1 за стандартно приложение за формуляри, ако не го промените) като пространство по име по подразбиране. За да видите това, създайте нов проект (използвахме името NSProj и проверете инструмента за браузър на обекти):

  1. Кликнете Тук за показване на илюстрацията
  2. Щракнете върху обратно бутон на вашия браузър, за да се върнете

Браузърът на обекти показва вашето ново пространство на имена на проекти (и автоматично дефинираните обекти в него) точно заедно с пространствата от имена .NET Framework. Тази способност на VB.NET да прави вашите обекти равни на .NET обекти е един от ключовете за силата и гъвкавостта. Например, затова Intellisense ще покаже вашите собствени обекти веднага щом ги дефинирате.

За да го накараме да я видим, нека да определим нов проект (Нарекохме нашия NewNSProj в същото решение (употреба досие > Добави > Нов проект ...) и кодира ново пространство на имена в този проект. И само за да е по-забавно, нека да поставим новото пространство на имена в нов модул (ние го кръстихме NewNSMod). И тъй като един обект трябва да бъде кодиран като клас, ние също добавихме клас клас (с име NewNSObj). Ето кода и разтворителя на решения, за да покажем как се вписва заедно:

  1. Кликнете Тук за показване на илюстрацията
  2. Щракнете върху обратно бутон на вашия браузър, за да се върнете

Тъй като вашият собствен код е "точно като рамков код", е необходимо да добавите препратка към NewNSMod в NSProj да използвате обекта в пространството на имена, въпреки че те са в едно и също решение. След като направите това, можете да декларирате обект в NSProj въз основа на метода в NewNSMod. Вие също трябва да "изградите" проекта, така че да съществува действителен обект за справка.

Dim o като нов NewNSProj. AVBNS.NewNSMod. NewNSObj
о. AVBNSMethod ()

Това е доста Дим изявление обаче. Можем да съкратим това с помощта на Вносът изявление с псевдоним.

Внася NS = NewNSProj. AVBNS.NewNSMod. NewNSObj
...
Dim o като нов НС
о. AVBNSMethod ()

При натискане на бутона Изпълни се показва MsgBox от пространството на имената на AVBNS, „Хей! Проработи!"

Кога и защо да използвате пространства от имена

Всичко досега наистина е било просто синтаксис - на кодиране правила, които трябва да спазвате при използване на пространства от имена. Но за да се възползвате наистина, се нуждаете от две неща:

  • Изискване за организация на пространството от имена на първо място. Имате нужда от нещо повече от един проект „Здравей свят“, преди организацията на пространства с имена да започне да се изплаща.
  • План за използването им.

Общо взето, Microsoft препоръчва да организирате кода на вашата организация, като използвате комбинация от името на вашата компания с името на продукта.

Така например, ако сте главният софтуерен архитект на пластичната хирургия на д-р Нос знае, тогава може да искате да организирате пространствата си с имена като ...

DRNo
Консултации
ReadTheirWatchNChargeEm
TellEmNuthin
хирургия
ElephantMan
MyEyeLidsRGone

Това е подобно на организацията на .NET ...

обект
Система
сърцевина
IO
LINQ
Данни
ODBC
Sql

Многостепенните пространства от имена се постигат чрез просто влагане на блоковете от имена.

Пространство с имена DRNo
Хирургия на пространството на имената
Пространство с имена MyEyeLidsRGone
'VB код
Крайно пространство на имената
Крайно пространство на имената
Крайно пространство на имената

или

Пространство с имена DRNo. Хирургия. MyEyeLidsRGone
'VB код
Крайно пространство на имената
instagram story viewer