Tässä opetusohjelmassa opitaan nimitiloista, kuinka määritellä se, käyttää sen jäseniä ja käyttää sitä C # -ohjelmassa.
Nimitiloja käytetään C #: ssä koodien organisoimiseksi ja tason erottamiseksi. Niitä voidaan pitää säilönä, joka koostuu muista nimitiloista, luokista jne.
Nimitilan jäseninä voi olla seuraavia tyyppejä:
- Nimitilat (sisäkkäiset nimitilat)
- Luokat
- Liitännät
- Rakenteet
- Edustajat
Keskustelemme näistä aiheista myöhemmissä opetusohjelmissa. Toistaiseksi pidämme kiinni luokista ja nimitiloista.
Nimitilat eivät ole pakollisia C # -ohjelmassa, mutta niillä on tärkeä rooli puhtaampien koodien kirjoittamisessa ja suurempien projektien hallinnassa.
Ymmärretään nimitilan käsite tosielämän skenaariossa. Tietokoneessamme on paljon tiedostoja ja kansioita. Kuvittele, kuinka vaikeaa olisi hallita niitä, jos ne sijoitetaan yhteen hakemistoon. Siksi laitamme liittyvät tiedostot ja kansiot erilliseen hakemistoon. Tämä auttaa meitä hallitsemaan tietoja oikein.
Nimitilan käsite on samanlainen C #: ssä. Se auttaa meitä järjestämään erilaisia jäseniä sijoittamalla toisiinsa liittyvät jäsenet samaan nimitilaan.
Nimitila ratkaisee myös ristiriitojen ongelman . Kaksi tai useampia luokkia, kun ne sijoitetaan eri nimitiloihin, voivat olla sama nimi.
Nimitilan määrittäminen C #: ssä
Voimme määritellä nimitilan C #: ssä käyttämällä nimitilan avainsanaa seuraavasti:
nimiavaruus Nimiavaruus-Nimi (// Nimiavaruuden runko)
Esimerkiksi:
namespace MyNamespace ( class MyClass ( public void MyMethod() ( System.Console.WriteLine("Creating my namespace"); ) ) )
Yllä olevassa esimerkissä luodaan nimitila MyNamespace
. Se koostuu luokasta MyClass
sen jäsenenä. MyMethod
on luokan menetelmä MyClass
.
Nimitilan jäsenten käyttö C #: ssä
Nimitilan jäseniin pääsee dot(.)
operaattorin avulla. Syntaksi nimitilan jäsenen käyttämiseen on
Nimitila-Nimi. Jäsen-Nimi
Esimerkiksi, jos meidän on luotava objekti MyClassista, se voidaan tehdä
MyNamespace.MyClass myClass = new MyNamespace.MyClass ();
Keskustelemme objektien luomisesta myöhemmissä opetusohjelmissa. Keskity nyt vain luokkaan MyClass
pääsyyn.
Esimerkki 1: Nimitilan esittely C # -ohjelmassa
using System; namespace MyNamespace ( public class SampleClass ( public static void myMethod() ( Console.WriteLine("Creating my namespace"); ) ) ) namespace MyProgram ( public class MyClass ( public static void Main() ( MyNamespace.SampleClass.myMethod(); ) ) )
Kun suoritamme ohjelmaa, tulos on:
Nimitilan luominen
Edellä olevassa ohjelmassa olemme luoneet oman nimiavaruutemme MyNamespace
ja päässeet sen jäseniin Main()
menetelmän sisällä MyClass
. Kuten aiemmin mainittiin, dot (.)
operaattoria käytetään pääsemään nimitilan jäseneen.
Tässä Main()
menetelmässä, myMethod()
menetelmää kutsutaan käyttäen dot (.)
operaattori.
Nimitilan käyttäminen C #: ssä (The using Keyword)
Nimitila voidaan sisällyttää ohjelmaan käyttämällä avainsanaa. Syntaksi on,
käyttämällä Namespace-Name;
Esimerkiksi,
käyttämällä järjestelmää;
Tämän lähestymistavan etuna on, että meidän ei tarvitse määrittää kyseisen nimitilan jäsenten täydellistä nimeä joka kerta, kun käytämme sitä.
Kun linja
käyttämällä järjestelmää;
sisältyy ohjelman yläosaan. Voimme kirjoittaa
Console.WriteLine ("Hei maailma!");
Täysin hyväksytyn nimen sijasta
System.Console.WriteLine ("Hei maailma!");
Sisäkkäiset nimitilat C #: ssä
Nimitila voi sisältää toisen nimiavaruuden. Sitä kutsutaan sisäkkäisiksi nimiavaruuksiksi. Sisäkkäisiä nimiavaruuksia ja niiden jäseniä voidaan käyttää myös dot (.)
operaattorin avulla.
Sisäkkäisten sisätilojen luomisen syntaksi on seuraava:
nimitila MyNamespace (nimitila SisäkkäisetNamespace (// sisäkkäisten nimiavaruuksien runko))
Esimerkki 2: Sisäkkäiset nimitilat C #: ssä
using System; // Nested Namespace namespace MyNamespace ( namespace Nested ( public class SampleClass ( public static void myMethod() ( Console.WriteLine("Nested Namespace Example"); ) ) ) ) namespace MyProgram ( public class MyClass ( public static void Main() ( MyNamespace.Nested.SampleClass.myMethod(); ) ) )
Kun suoritamme ohjelmaa, tulos on:
Sisäkkäinen nimitila-esimerkki
Tämä esimerkki kuvaa, kuinka sisäkkäiset nimitilat voidaan toteuttaa C #: ssä.
Täällä meillä on nyt ylimääräinen nimitila, MyNamespace
jota kutsutaan Nested
. Joten MyNamespace.SampleClass.myMethod()
meidän on käytettävä sen sijaan , että käytämme MyNamespace.Nested.SampleClass.myMethod()
.