Imenski prostori C # (z primeri)

V tej vadnici bomo izvedeli več o prostorih imen, kako jih definirati, dostopati do njegovih članov in ga uporabiti v programu C #.

Imenski prostori se v jeziku C # uporabljajo za organiziranje in zagotavljanje ravni ločevanja kod. Lahko jih obravnavamo kot vsebnik, ki je sestavljen iz drugih imenskih prostorov, razredov itd.

Imenski prostor ima lahko za svoje člane naslednje vrste:

  1. Imenski prostori (ugnezdeni imenski prostor)
  2. Predavanja
  3. Vmesniki
  4. Strukture
  5. Delegati

O teh temah bomo razpravljali v kasnejših vajah. Za zdaj se bomo držali razredov in imenskih prostorov.

Imenski prostori v programu C # niso obvezni, imajo pa pomembno vlogo pri pisanju čistejših kod in upravljanju večjih projektov.

Razumejmo koncept imenskega prostora s scenarijem iz resničnega življenja. V računalniku imamo veliko število datotek in map. Predstavljajte si, kako težko bi bilo z njimi upravljati, če bi bili nameščeni v enem imeniku. Zato smo povezane datoteke in mape postavili v ločen imenik. To nam pomaga, da pravilno upravljamo s svojimi podatki.

Koncept imenskega prostora je podoben v jeziku C #. Pomaga nam organizirati različne člane tako, da sorodne člane postavimo v isti imenski prostor.

Imenski prostor rešuje tudi problem poimenovanja konflikta . Dva ali več razredov, če jih damo v različne imenske prostore, ima lahko isto ime.

Določanje imenskega prostora v jeziku C #

V C # lahko določimo imenski prostor z uporabo ključne besede imenski prostor kot:

 imenski prostor Namespace-Name (// Telo imenskega prostora) 

Na primer:

 namespace MyNamespace ( class MyClass ( public void MyMethod() ( System.Console.WriteLine("Creating my namespace"); ) ) ) 

V zgornjem primeru MyNamespaceje ustvarjen imenski prostor . Sestavljen je iz razreda MyClasskot njegovega člana. MyMethodje metoda pouka MyClass.

Dostop do članov imenskega prostora v jeziku C #

Do članov imenskega prostora je mogoče dostopati s pomočjo dot(.)operaterja. Sintaksa za dostop do člana imenskega prostora je,

 Ime-imena-Ime-Ime-člana

Če moramo na primer ustvariti objekt MyClass, lahko to storimo kot,

 MyNamespace.MyClass myClass = novo MyNamespace.MyClass ();

O ustvarjanju predmetov bomo razpravljali v kasnejših vajah. Za zdaj se osredotočite le na način MyClassdostopa do predavanja .

Primer 1: Predstavitev imenskega prostora v programu C #

 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(); ) ) ) 

Ko zaženemo program, bo rezultat:

 Ustvarjanje mojega imenskega prostora

V zgornjem programu smo ustvarili svoj imenski prostor MyNamespacein dostopali do njegovih članov iz Main()metode znotraj MyClass. Kot že rečeno, se z dot (.)operaterjem dostopa do člana imenskega prostora.

V Main()metodi se myMethod()metoda pokliče z uporabo dot (.)operatorja.

Uporaba imenskega prostora v C # (Uporaba ključne besede)

Imenski prostor je mogoče vključiti v program s pomočjo ključne besede using. Sintaksa je,

 uporaba imenskega prostora-Ime;

Na primer

 z uporabo sistema;

Prednost tega pristopa je, da nam ni treba natančno določiti imena članov tega imenskega prostora vsakič, ko dostopamo do njega.

Ko je črta

 z uporabo sistema;

je vključen na vrh programa. Lahko pišemo

 Console.WriteLine ("Pozdravljeni, svet!");

Namesto popolnoma kvalificiranega imena tj

 System.Console.WriteLine ("Pozdravljeni, svet!");

Vgnezdeni imenski prostor v C #

Imenski prostor lahko vsebuje drug imenski prostor. Imenuje se ugnezdeni imenski prostor. Do ugnezdenega imenskega prostora in njegovih članov lahko dostopate tudi s pomočjo dot (.)operaterja.

Sintaksa za ustvarjanje ugnezdenega imenskega prostora je naslednja:

 imenski prostor MyNamespace (imenski prostor NestedNamespace (// Telo ugnezdenega imenskega prostora)) 

2. primer: ugnezdeni imenski prostor v jeziku C #

 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(); ) ) ) 

Ko zaženemo program, bo rezultat:

 Primer ugnezdenega imenskega prostora

Ta primer prikazuje, kako je mogoče ugnezdeni imenski prostor implementirati v C #.

Tukaj imamo zdaj znotraj MyNamespaceimenovan dodaten imenski prostor Nested. Torej, namesto da uporabimo MyNamespace.SampleClass.myMethod(), moramo uporabiti MyNamespace.Nested.SampleClass.myMethod().

Zanimive Članki...