Nimialueiden käyttö VB.NET: ssä

click fraud protection

Yleisin tapa, jolla VB.NET-nimitilaa käytetään eniten ohjelmoijat on kertoa kääntäjälle, mitä .NET Framework -kirjastoja tarvitaan tietylle ohjelmalle. Kun valitset "mallin" projektillesi (kuten "Windows Forms Application"), yksi näistä asioista että valitset on tietty nimialuejoukko, johon viitataan automaattisesti omassa projekti. Tämä tekee näissä nimitiloissa olevan koodin ohjelman käytettäväksi.

Esimerkiksi jotkut nimitilat ja tosiasialliset tiedostot, joissa ne ovat Windows Forms -sovelluksessa, ovat:

System> System.dll-tiedostossa
Järjestelmä. Tiedot> järjestelmässä. Data.dll
Järjestelmä. Asennus> Järjestelmä. Deployment.dll
Järjestelmä. Piirustus> Järjestelmä. Drawing.dll
Järjestelmä. Windows. Lomakkeet> Järjestelmä. Windows. Forms.dll

Voit nähdä (ja muuttaa) projektisi nimitilat ja viitteet projektin ominaisuuksissa alla Viitteet välilehti.

Tämä nimiavaruuksien ajattelu tekee niistä näyttävän olevan aivan sama asia kuin "koodikirjasto", mutta se on vain osa ideaa. Nimitilan todellinen hyöty on organisaatio.

instagram viewer

Suurin osa meistä ei saa mahdollisuutta luoda uusi nimiavaruushierarkia, koska se tehdään yleensä vain kerran "alussa" suurelle ja monimutkaiselle koodikirjastolle. Mutta täällä opit tulkitsemaan nimitilat, joita sinua pyydetään käyttämään monissa organisaatioissa.

Mitä nimitilat tekevät

Nimitilat mahdollistavat myös kymmenien tuhansien .NET Framework -objektien ja kaikkien objektien, jotka VB-ohjelmoijat luovat projektiin, järjestämisen, jotta ne eivät ristiriidassa.

Jos esimerkiksi etsit .NET: stä Väri esine, löydät kaksi. Tuolla on Väri esine molemmissa:

Järjestelmä. Piirustus
Järjestelmä. Windows. tiedotusvälineet

Jos lisäät Tuonti lauseke molemmille nimitiloille (viite voi olla tarpeen myös projektin ominaisuuksille) ...

Tuo järjestelmä. Piirustus
Tuo järjestelmä. Windows. tiedotusvälineet

... sitten lausunto kuten ...

Himmennä väriltään

... merkitään virheenä huomautuksessa, "Väri on epäselvä" ja .NET huomauttaa, että molemmat nimitilat sisältävät objektin, jolla on tämä nimi. Tällaista virhettä kutsutaan "nimen törmäykseksi".

Tämä on "nimiavaruuksien" todellinen syy, ja se on myös tapa, jolla nimiavaroja käytetään muissa tekniikoissa (kuten XML). Nimitilat mahdollistavat saman objektinimen, kuten Väri, kun nimi sopii ja pitää asiat silti järjestetyinä. Voit määritellä Väri esine omaan koodiin ja pidä se erillään .NET: n (tai muiden ohjelmoijien koodista).

Nimitila MyColor
Julkisen luokan väri
Alaväri ()
' Tee jotain
End Sub
Loppu luokka
Lopeta nimitila

Voit myös käyttää Väri esine jossain muualla ohjelmassa näin:

Dim c Kuten uusi MyColor. Väri
C. Väri()

Ennen kuin siirryt muihin ominaisuuksiin, muista, että jokainen projekti sisältyy nimitilaan. VB.NET käyttää projektin nimeä (WindowsApplication1 vakiolomakesovellukselle, jos et muuta sitä) oletusnimitilaksi. Voit nähdä tämän luomalla uuden projektin (käytimme nimeä NSProj ja tutustu Object Browser -työkaluun):

  1. Klikkaus Tässä näyttääksesi kuvan
  2. Klikkaa Takaisin -painiketta palataksesi

Objektiselain näyttää uuden projektin nimitilan (ja siinä automaattisesti määritetyt objektit) aivan yhdessä .NET Framework -nimitilan kanssa. VB.NET: n kyky tehdä objekteistasi yhtä suuria .NET-objekteja on yksi avaimista voimalle ja joustavuudelle. Esimerkiksi siksi Intellisense näyttää omat objektisi heti, kun määrität ne.

Määritämme uuden projektin saadaksemme siitä loven, määrittelemme uuden projektin (Nimeimme omani NewNSProj samassa ratkaisussa (käytä tiedosto > Lisätä > Uusi projekti ...) ja koodaa uusi nimiavaruus projektiin. Ja vain tehdäksemme siitä hauskempaa, laittakaamme uusi nimitila uuteen moduuliin (nimitimme sen NewNSMod). Ja koska esine on koodattava luokana, lisäsimme myös luokkalohkon (nimeltään NewNSObj). Tässä on koodi ja Solution Explorer osoittavat, kuinka se sopii yhteen:

  1. Klikkaus Tässä näyttääksesi kuvan
  2. Klikkaa Takaisin -painiketta palataksesi

Koska oma koodi on 'aivan kuten Framework-koodi', on tarpeen lisätä viittaus NewNSMod sisään NSProj käyttää objektia nimitilassa, vaikka ne ovat samassa ratkaisussa. Kun se on valmis, voit julistaa objektin NSProj perustuu menetelmään NewNSMod. Sinun on myös "rakennettava" projekti, jotta todellinen objekti on olemassa viitteeksi.

Dim o Kuten uusi NewNSProj. AVBNS.NewNSMod. NewNSObj
o. AVBNSMethod ()

Se on melko a Himmeä lausunto kuitenkin. Voimme lyhentää sitä käyttämällä Tuonti lausunto aliaksella.

Tuo NS = NewNSProj. AVBNS.NewNSMod. NewNSObj
...
Dim o Kuten uusi NS
o. AVBNSMethod ()

Napsauttamalla Suorita-painiketta tulee näkyviin MsgBox AVBNS-nimitilasta "Hei! Se toimi!"

Milloin ja miksi nimiavaruuksia käytetään

Kaikki toistaiseksi on todella vain ollut syntaksi - koodaus säännöt, joita sinun on noudatettava nimiavaruuksien käyttämisessä. Mutta hyötyäksesi todella tarvitset kaksi asiaa:

  • Vaaditaan nimitilan organisointia. Tarvitset muutakin kuin "Hello World" -projektin ennen kuin nimitilojen järjestäminen alkaa maksaa.
  • Suunnitelma käyttää niitä.

Yleisesti, Microsoft suosittelee järjestämään organisaatiosi koodin yhdistämällä yrityksen nimen ja tuotenimen.

Joten esimerkiksi jos olet Dr. No's Nose Knows Plastic Surgeryn pääohjelmistoarkkitehti, sinun kannattaa ehkä järjestää nimitilasi kuten ...

DRNo
konsultointi
ReadTheirWatchNChargeEm
TellEmNuthin
Leikkaus
ElephantMan
MyEyeLidsRGone

Tämä on samanlainen kuin .NET: n organisaatio ...

Esine
järjestelmä
Ydin
IO
LINQ
data
odbc
sql

Monitasoiset nimitilat saadaan aikaan yksinkertaisesti pesämällä nimitilalohkot.

Nimitila DRNo
Nimitilakirurgia
Nimitila MyEyeLidsRGone
'VB-koodi
Lopeta nimitila
Lopeta nimitila
Lopeta nimitila

tai

Nimitila DRNo. Leikkaus. MyEyeLidsRGone
'VB-koodi
Lopeta nimitila
instagram story viewer