Uporaba prostorov imen v VB.NET

Večina uporablja najpogostejši način imenskih prostorov VB.NET programerji je prevajalniku povedati, katere knjižnice .NET Framework so potrebne za določen program. Ko izberete "predlogo" za svoj projekt (na primer "aplikacija za obrazce za Windows"), eno od stvari ki ga izberete, je določen nabor prostorov imen, ki se bodo samodejno sklicevali v vašem projekt. S tem je koda v teh prostorih imen na voljo vašemu programu.

Na primer, nekaj imenskih prostorov in dejanskih datotek, v katerih je aplikacija Windows Forms, so:

Sistem> v System.dll
Sistem. Podatki> v sistemu. Data.dll
Sistem. Umestitev> Sistem. Deployment.dll
Sistem. Risba> Sistem. Risba.dll
Sistem. Windows. Obrazci> Sistem. Windows. Forms.dll

Ogledne prostore in reference za svoj projekt si lahko ogledate (in spremenite) v lastnostih projekta pod Reference zavihek.

Zaradi tega načina razmišljanja o prostorih imen se zdi, da gre za isto stvar kot "knjižnica kod", vendar je to le del ideje. Resnična korist imenskih prostorov je organizacija.

instagram viewer

Večina od nas ne bo dobila možnosti za vzpostavitev nove hierarhije imenskega prostora, ker se na splošno opravi samo enkrat na začetku za veliko in zapleteno knjižnico kod. Tu pa se boste naučili razlagati prostore imen, ki jih boste morali uporabiti v številnih organizacijah.

Kaj počnejo prostori imen

Imeniški prostori omogočajo organiziranje več deset tisoč objektov .NET Framework in vseh predmetov, ki jih VB programerji ustvarijo tudi v projektih, tako da se ne spopadajo.

Na primer, če iščete .NET za Barva objekta, najdete dva. Obstaja a Barva objekt v obeh:

Sistem. Risba
Sistem. Windows. Mediji

Če dodate Uvoz stavek za obe imeni (referenca bo morda potrebna tudi za lastnosti projekta) ...

Uvozni sistem. Risba
Uvozni sistem. Windows. Mediji

... potem pa izjava kot ...

Zatemnite kot barvo

... bo označeno kot napaka z opombo, "Barva je dvoumna", .NET pa bo poudaril, da obe imeni vsebujeta predmet s tem imenom. Tovrstna napaka se imenuje "trčenje imena".

To je resnični razlog za "prostore imen" in tudi način uporabe prostorov imen v drugih tehnologijah (na primer XML). Imenski prostori omogočajo uporabo istega imena predmeta, kot je Barva, ko se ime prilega in stvari še vedno organizirajo. Lahko bi opredelili a Barva predmet v lastni kodi in naj bo ločen od tistih v .NET (ali kodi drugih programerjev).

Namespace MyColor
Barva javnega razreda
Podbarvna barva ()
' Naredi kaj
Končni pod
Končni razred
Končni prostor imen

Uporabite lahko tudi Barva predmet nekje drugje v vašem programu, kot je ta:

Dim c kot nov MyColor. Barva
c. Barva ()

Preden se lotite nekaterih drugih funkcij, bodite pozorni, da je vsak projekt vsebovan v imenskem prostoru. VB.NET uporablja ime vašega projekta (WindowsAplikacija1 za standardni program za obrazce, če ga ne spremenite) kot privzeti prostor imen. Če želite to videti, ustvarite nov projekt (uporabili smo ime NSProj in si oglejte orodje brskalnika objektov):

  1. Kliknite Tukaj za prikaz ilustracije
  2. Kliknite na Nazaj gumb v brskalniku, da se vrnete

Brskalnik objektov prikazuje vaš novi imeni (in samodejno definirani predmeti v njem) neposredno skupaj z imeni .NET Framework. Ta sposobnost VB.NET-a, da svoje predmete izenači s .NET predmeti, je eden od ključev moči in prilagodljivosti. Tako bo na primer Intellisense pokazal svoje predmete takoj, ko jih določite.

Da bi to zarezali, določimo nov projekt (poimenovali smo svojega NoviNSProj v isti raztopini (uporaba mapa > Dodaj > Nov projekt ...) in v tem projektu kodirajte nov imenski prostor. In samo zato, da bo bolj zabavno, dajmo novi imenski prostor v nov modul (poimenovali smo ga NewNSMod). In ker mora biti objekt kodiran kot razred, smo dodali tudi blok razreda (imenovan NovoNSObj). Tu je koda in raziskovalec rešitev, ki prikazujeta, kako se ujemata skupaj:

  1. Kliknite Tukaj za prikaz ilustracije
  2. Kliknite na Nazaj gumb v brskalniku, da se vrnete

Ker je vaša koda "tako kot okvirna koda", je treba dodati sklic na NewNSMod v NSProj za uporabo predmeta v imenem prostoru, čeprav sta v isti rešitvi. Ko to storite, lahko predmet prijavite v NSProj na podlagi metode v NewNSMod. Projekt morate tudi "zgraditi", da bo za referenco obstajal dejanski predmet.

Dim o kot nov noviNSProj. AVBNS.NewNSMod. NovoNSObj
o. AVBNSMethod ()

To je precej Dim izjava, čeprav. To lahko skrajšamo z uporabo Uvoz izjava z vzdevkom.

Uvozi NS = NewNSProj. AVBNS.NewNSMod. NovoNSObj
...
Dim o kot nov NS
o. AVBNSMethod ()

S klikom na gumb Zaženi se prikaže sporočilo MsgBox iz imenskega prostora AVBNS, "Hej! Delovalo je!"

Kdaj in zakaj uporabljati prostore imen

Vse doslej je bilo res skladnja - the kodiranje pravila, ki se jih morate držati pri uporabi imenskih prostorov. Da pa resnično izkoristite, potrebujete dve stvari:

  • Zahteva za organizacijo prostora imen. Preden se organizacija imenskih prostorov začne izplačevati, potrebujete več kot le "Hello World" projekt.
  • Načrt za njihovo uporabo.

Na splošno, Microsoft priporoča, da kodo organizacije organizirate tako, da uporabite kombinacijo imena vašega podjetja in imena izdelka.

Na primer, če ste glavni arhitekt programske opreme za dr. Nose Nose pozna plastično kirurgijo, potem boste morda želeli organizirati svoje prostore imen, kot ...

DRNo
Svetovanje
PreberiteTheirWatchNChargeEm
TellEmNuthin
Operacija
Slon Man
MyEyeLidsRGone

To je podobno kot organizacija .NET ...

Predmet
Sistem
Jedro
IO
Linq
Podatki
Odbc
Sql

Prostore imen na več ravneh dosežemo s preprostim gnezdenjem blokov imen.

Namespace DRNo
Kirurgija imenskega prostora
Imenski prostor MyEyeLidsRGone
Koda VB
Končni prostor imen
Končni prostor imen
Končni prostor imen

ali

Namespace DRNo. Operacija. MyEyeLidsRGone
Koda VB
Končni prostor imen
instagram story viewer