Korištenje Imena u VB.NET

Većina najčešće koristi VB.NET prostore imena programera je reći kompajleru koje .NET Framework knjižnice su potrebne za određeni program. Kad za svoj projekt odaberete "predložak" (kao što je "Aplikacija za obrasce za Windows") jedna od stvari koji odabirete određeni skup prozora imena koji će se automatski pozivati ​​u vašem projekt. Na taj način kod u tim prostorima imena postaje dostupan vašem programu.

Na primjer, neke od prostora s imenima i stvarne datoteke u kojima se nalazi u aplikaciji Windows Forms su:

Sustav> u System.dll
Sustav. Podaci> u sustavu. Data.dll
Sustav. Uvođenje> Sustav. Deployment.dll
Sustav. Crtanje> Sustav. Drawing.dll
Sustav. Windows. Obrasci> Sustav. Windows. Forms.dll

Možete vidjeti (i promijeniti) prostore imena i reference za svoj projekt u svojstvima projekta ispod Reference kartica.

Ovakav način razmišljanja o prostorima imena čini im se da su iste stvari kao i "biblioteka koda", ali to je samo dio ideje. Stvarna korist prostora imenjaka je organizacija.

Većina nas neće dobiti priliku uspostaviti novu hijerarhiju prostora imena, jer se to radi samo jednom „u početku“ za veliku i kompliciranu biblioteku kodova. Ali, ovdje ćete naučiti kako protumačiti prostore imena koji će se od vas tražiti da koristite u mnogim organizacijama.

instagram viewer

Što rade prostori imena

Prostori igara omogućuju organiziranje desetaka tisuća .NET Framework objekata i svih objekata koje VB programeri također stvaraju u projektima, tako da se oni ne sukobljavaju.

Na primjer, ako pretražite .NET za Boja objekta, naći ćete dva. Tamo je Boja objekt u oba:

Sustav. Crtanje
Sustav. Windows. media

Ako dodate an uvoz izjava za oba prostora s imenima (referenca će također biti potrebna za svojstva projekta) ...

Uvozni sustav. Crtanje
Uvozni sustav. Windows. media

... onda izjava poput ...

Dim a kao boja

... bit će označen kao greška s napomenom, "Boja je dvosmislena", a .NET će istaknuti da oba prostora s imenima sadrže objekt s tim imenom. Ova vrsta pogreške zove se "sudar imena".

To je pravi razlog za "prostore imena", a ujedno se i način upotrebe prostora u imenima u drugim tehnologijama (kao što je XML). Prostori igara omogućuju upotrebu istog naziva objekta, kao što je Boja, kada se naziv uklapa i još uvijek drži stvari organiziranim. Možete definirati a Boja objekta u svom vlastitom kodu i držite ga različitim od onih u .NET-u (ili kodu drugih programera).

Namespace MyColor
Boja javne klase
Podboja ()
' Učini nešto
Kraj Sub
Krajnja klasa
Kraj prostora imena

Također možete koristiti Boja predmet negdje drugdje u vašem programu poput ovog:

Dim c kao nova MyColor. Boja
c. Boja()

Prije nego što pristupite nekim drugim značajkama, imajte na umu da se svaki projekt nalazi u prostoru imena. VB.NET koristi naziv vašeg projekta (WindowsApplication1 za standardni program obrasca ako ga ne promijenite) kao zadani prostor imena. Da biste to vidjeli, kreirajte novi projekt (upotrijebili smo naziv NSProj i provjerite alat za pregledavanje objekata):

  1. Klik Ovdje za prikaz ilustracije
  2. Kliknite gumb leđa gumb na vašem pregledniku za povratak

Preglednik objekata prikazuje vaš novi prostor imena projekata (i automatski definirani objekti u njemu) odmah zajedno s prozorskim imenima .NET Framework. Ova sposobnost VB.NET-a da vaše objekte izjednači s .NET objektima jedan je od ključeva snage i fleksibilnosti. Na primjer, zato će Intellisense prikazivati ​​vlastite objekte čim ih definirate.

Da bismo to postigli, definirajmo novi projekt (Nazvali smo naš NewNSProj u istom rješenju (upotreba Datoteka > Dodati > Novi projekt ...) i kodirajte novi imenski prostor u tom projektu. A samo da bismo ga učinili zabavnijim, ubacimo novi imenski prostor u novi modul (nazvali smo ga NewNSMod). A kako objekt mora biti kodiran kao klasa, dodali smo i blok klase (nazvan NewNSObj). Evo koda i preglednika rješenja kako biste pokazali kako se sve uklapa:

  1. Klik Ovdje za prikaz ilustracije
  2. Kliknite gumb leđa gumb na vašem pregledniku za povratak

Budući da je vaš vlastiti kôd "baš poput Okvirnog koda", potrebno je dodati referencu na NewNSMod u NSProj koristiti objekt u prostoru imena iako su u istom rješenju. Kad to učinite, možete prijaviti objekt u NSProj na temelju metode u NewNSMod. Također trebate „izgraditi“ projekt tako da postoji stvarni objekt koji se može referencirati.

Dim o kao novi NewNSProj. AVBNS.NewNSMod. NewNSObj
o. AVBNSMethod ()

To je prilično Dim izjava ipak. To možemo skratiti pomoću an uvoz izjava s pseudonimom.

Uvozi NS = NewNSProj. AVBNS.NewNSMod. NewNSObj
...
Dim o kao novi NS
o. AVBNSMethod ()

Klikom na gumb Pokreni prikazat će se MsgBox iz prostora imena AVBNS, "Hej! Upalilo je!"

Kada i zašto koristiti prostore imena

Sve do sada stvarno je bilo sintaksa - the šifriranje pravila kojih se morate pridržavati pri korištenju prostora s imenima. Ali da biste zaista iskoristili prednost, potrebne su vam dvije stvari:

  • Zahtjev za organizaciju prostora imena. Trebate više od projekta "Pozdrav svijet" prije nego što se organizacija imena imena počne isplaćivati.
  • Plan kako ih koristiti.

Općenito, Microsoft preporučuje da organizirate kôd svoje organizacije koristeći kombinaciju naziva vaše tvrtke s nazivom proizvoda.

Na primjer, ako ste glavni softverski arhitekt dr. Nose Nose zna plastičnu kirurgiju, možda biste željeli organizirati svoje prostore imena poput ...

DRNo
Savjetovanje
ReadTheirWatchNChargeEm
TellEmNuthin
kirurgija
ElephantMan
MyEyeLidsRGone

To je slično organizaciji .NET-a ...

Objekt
Sustav
srž
IO
LINQ
Podaci
ODBC
SQL

Višeslojni prostori s imenima postižu se jednostavnim umetanjem blokova s ​​imenima.

Imenski prostor DRNo
Kirurgija imena
Imenski prostor MyEyeLidsRGone
'VB kod
Kraj prostora imena
Kraj prostora imena
Kraj prostora imena

ili

Imenski prostor DRNo. Kirurgija. MyEyeLidsRGone
'VB kod
Kraj prostora imena
instagram story viewer