Nimeseruumide kasutamine VB.NET-is

click fraud protection

Enamik kasutab VB.NET-nimeruume kõige tavalisemalt programmeerijad on öelda kompilaatorile, milliseid .NET Framework teeke on konkreetse programmi jaoks vaja. Kui valite oma projekti jaoks malli (näiteks "Windowsi vormide rakendus"), siis tehke üks neist asjadest mille valite, on konkreetne nimeruumide komplekt, millele teie kataloogis automaatselt viidatakse projekti. See teeb nendes nimeruumides oleva koodi teie programmile kättesaadavaks.

Näiteks mõned nimeruumid ja tegelikud failid, milles nad Windowsi vormingurakenduses asuvad:

Süsteem> süsteemis.dll
Süsteem. Andmed> süsteemis. Data.dll
Süsteem. Juurutamine> süsteem. Deployment.dll
Süsteem. Joonis> Süsteem. Joonis.dll
Süsteem. Windows. Vormid> Süsteem. Windows. Forms.dll

Näete (ja muutke) oma projekti nimeruume ja viiteid projekti atribuutides jaotises Viited sakk.

See nimeruumide mõtteviis paneb neid tunduma samamoodi nagu "koodikogu", kuid see on vaid osa ideest. Nimeruumide tegelik kasu on korraldus.

Enamik meist ei saa võimalust luua uut nimeruumi hierarhiat, sest suure ja keeruka koodikogu jaoks tehakse seda tavaliselt ainult üks kord "alguses". Kuid siin saate teada, kuidas tõlgendada nimeruume, mida palutakse teil kasutada paljudes organisatsioonides.

instagram viewer

Mida nimeruumid teevad

Nimeruumid võimaldavad korraldada kümneid tuhandeid .NET Framework objekte ja kõiki objekte, mille VB programmeerijad ka projektides loovad, nii et need ei lähe omavahel kokku.

Näiteks kui otsite .NET-ist a Värv objekt, leiad kaks. Siin on Värv objekt mõlemas:

Süsteem. Joonistamine
Süsteem. Windows. Meediumid

Kui lisate Import avaldus mõlema nimeruumi kohta (viide võib olla vajalik ka projekti atribuutide jaoks) ...

Impordi süsteem. Joonistamine
Impordi süsteem. Windows. Meediumid

... siis selline avaldus nagu ...

Tuhm kui värv

... tähistatakse veana märkuses "Värv on mitmetähenduslik" ja .NET osutab, et mõlemad nimeruumid sisaldavad selle nimega objekti. Sellist viga nimetatakse nime kokkupõrkeks.

See on nimeruumide tegelik põhjus ja ka nimeruumide kasutamine teistes tehnoloogiates (näiteks XML). Nimeruumid võimaldavad kasutada sama objekti nime, näiteks Värv, kui nimi sobib ja hoiab asjad ikkagi korras. Võite määratleda a Värv objekti oma koodis ja eristage seda .NET-is (või teiste programmeerijate koodist) sisalduvatest.

Nimeseruum MyColor
Avaliku klassi värv
Alamvärv ()
' Tee midagi
Lõpu alam
Lõpuklass
Lõpeta nimeruum

Võite kasutada ka Värv objekt kuskil mujal oma programmis nagu see:

Dim c Nagu uus MyColor. Värv
c. Värv ()

Enne mõne muu funktsiooni juurde asumist võtke arvesse, et iga projekt sisaldub nimeruumis. VB.NET kasutab teie projekti nime (WindowsApplication1 standardvormide rakenduse jaoks, kui te seda ei muuda) vaikenimeruumina. Selle nägemiseks looge uus projekt (kasutasime nime NSProj ja tutvuge tööriistaga Objektibrauser):

  1. Klõpsake nuppu Siin illustratsiooni kuvamiseks
  2. Klõpsake nuppu tagasi naasmiseks oma brauseri nuppu

Objektibrauser näitab teie uut projekti nimeruumi (ja selles automaatselt määratletud objekte) koos .NET Framework'i nimeruumidega. See VB.NETi võime oma objektid võrdsustada .NET-objektidega võrdsustatuna on üks võimu ja paindlikkuse võti. Näiteks näitab Intellisense teie enda objekte kohe, kui olete need määratlenud.

Märgi saamiseks täpsustame uue projekti (nimetasime oma NewNSProj samas lahuses (kasutage Toimik > Lisama > Uus projekt ...) ja kodeerib selle projekti uue nimeruumi. Ja lihtsalt lõbusamaks muutmiseks paneme uue nimeruumi uude moodulisse (panime sellele nime NewNSMod). Ja kuna objekt tuleb klassina kodeerida, lisasime ka klassiploki (nimega NewNSObj). Kood ja lahenduste uurija näitavad, kuidas see kokku sobib:

  1. Klõpsake nuppu Siin illustratsiooni kuvamiseks
  2. Klõpsake nuppu tagasi naasmiseks oma brauseri nuppu

Kuna teie enda kood on 'just nagu raamkood', on vaja lisada viide NewNSMod sisse NSProj objekti kasutamiseks nimeruumis, isegi kui nad asuvad samas lahenduses. Kui see on tehtud, saate objekti kuulutada NSProj põhineb meetodil NewNSMod. Samuti peate projekti "üles ehitama", nii et tegelik objekt oleks viitamiseks olemas.

Dim o Nagu uus NewNSProj. AVBNS.NewNSMod. NewNSObj
o. AVBNSmeetod ()

See on üsna a Hämar avaldus küll. Saame seda lühendada, kasutades nuppu Import avaldus varjunimega.

Import NS = NewNSProj. AVBNS.NewNSMod. NewNSObj
...
Dim o Nagu uus NS
o. AVBNSmeetod ()

Klõpsates nuppu Run, kuvatakse MsgBox AVBNS-i nimeruumist "Hei! See töötas! "

Millal ja miks nimeruume kasutada

Kõik siiani on tõesti lihtsalt olnud süntaks - kodeerimine reeglid, mida peate nimeruumide kasutamisel järgima. Kuid eelise tõeliseks kasutamiseks on vaja kahte asja:

  • Esiteks nimeruumi korraldamise nõue. Enne kui nimeruumide korraldamine hakkab ära tasuma, vajate enamat kui lihtsalt "Tere maailma" projekti.
  • Plaan neid kasutada.

Üldiselt, Microsoft soovitab korraldada oma organisatsiooni koodi, kasutades teie ettevõtte nime ja tootenime kombinatsiooni.

Nii et näiteks kui olete dr No's Nose Know plastikakirurgia peamine tarkvaraarhitekt, võiksite oma nimeruume korraldada näiteks ...

DRNo
Nõustamine
LoeTheirWatchNCrgeEm
TellEmNuthin
Kirurgia
Elevandimees
MyEyeLidsRGone

See sarnaneb .NET-i organisatsiooniga ...

Objekt
Süsteem
Tuum
IO
Linq
Andmed
Odbc
Sql

Mitmetasandilised nimeruumid saavutatakse lihtsalt nimeruumi plokkide pesastamisega.

Nimeruum DRNo
Nimeruumi kirurgia
Nimeseruum MyEyeLidsRGone
'VB kood
Lõpeta nimeruum
Lõpeta nimeruum
Lõpeta nimeruum

või

Nimeruum DRNo. Kirurgia. MyEyeLidsRGone
'VB kood
Lõpeta nimeruum
instagram story viewer