Prostori imena C # (s primjerima)

U ovom uputstvu naučit ćemo o imenskim prostorima, kako ga definirati, pristupiti njegovim članovima i koristiti ga u programu C #.

Prostori imena koriste se u jeziku C # za organiziranje i pružanje razine odvojenosti kodova. Mogu se smatrati spremnikom koji se sastoji od drugih prostora imena, klasa itd.

Prostor imena može imati sljedeće tipove kao svoje članove:

  1. Prostori imena (ugniježđeni prostor imena)
  2. Nastava
  3. Sučelja
  4. Strukture
  5. Delegati

O tim ćemo temama razgovarati u kasnijim tutorijalima. Za sada ćemo se držati klasa i prostora imena.

Prostori imena nisu obvezni u programu C #, ali igraju važnu ulogu u pisanju čistijih kodova i upravljanju većim projektima.

Razumijemo koncept prostora imena sa stvarnim scenarijem. Na našem računalu imamo velik broj datoteka i mapa. Zamislite kako bi bilo teško njima upravljati ako su smješteni u jedan direktorij. Zbog toga smo povezane datoteke i mape stavili u zasebni direktorij. To nam pomaže da pravilno upravljamo podacima.

Koncept prostora imena sličan je u C #. Pomaže nam organizirati različite članove stavljanjem povezanih članova u isti prostor imena.

Prostor imena također rješava problem sukoba imenovanja . Dvije ili više klasa kada se stave u različite prostore imena mogu imati isto ime.

Definiranje prostora imena u C #

Prostor imena možemo definirati u C # pomoću ključne riječi za prostor imena kao:

 namespace Ime prostora-Ime (// Tijelo prostora imena) 

Na primjer:

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

U gornjem primjeru MyNamespacekreira se prostor imena . Sastoji se od klase MyClasskao svog člana. MyMethodje metoda klase MyClass.

Pristup članovima prostora imena u C #

Članovima prostora imena može se pristupiti pomoću dot(.)operatora. Sintaksa pristupa članu prostora imena je,

 Ime-prostora-Ime.Član-Ime

Na primjer, ako trebamo stvoriti objekt MyClass-a, to se može učiniti kao,

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

O stvaranju objekata razgovarat ćemo u kasnijim vodičima. Za sada se samo usredotočite na način pristupa klasi MyClass.

Primjer 1: Uvođenje prostora imena u 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(); ) ) ) 

Kada pokrenemo program, izlaz će biti:

 Stvaranje mog prostora imena

U gore navedenom programu stvorili smo vlastiti prostor imena MyNamespacei pristupili njegovim članovima iz Main()metode iznutra MyClass. Kao što je ranije rečeno, dot (.)operator se koristi za pristup članu prostora imena.

U Main()metodi se myMethod()metoda poziva pomoću dot (.)operatora.

Korištenje prostora imena u C # (Uporaba ključne riječi)

Prostor imena može se uključiti u program pomoću ključne riječi using. Sintaksa je,

 pomoću Imena prostora-Ime;

Na primjer,

 pomoću sustava;

Prednost ovog pristupa je što ne moramo navesti potpuno kvalificirano ime članova tog prostora imena svaki put kad mu pristupamo.

Jednom crta

 pomoću sustava;

je uključen na vrh programa. Možemo pisati

 Console.WriteLine ("Pozdrav svijetu!");

Umjesto potpuno kvalificiranog imena tj

 System.Console.WriteLine ("Pozdrav svijetu!");

Ugniježđeni prostor imena u C #

Prostor imena može sadržavati drugi prostor imena. Zove se ugniježđeni prostor imena. Ugniježđenom prostoru imena i njegovim članovima također se može pristupiti pomoću dot (.)operatora.

Sintaksa za stvaranje ugniježđenog prostora imena je sljedeća:

 prostor imena MyNamespace (prostor imena NestedNamespace (// Tijelo ugniježđenog prostora imena)) 

Primjer 2: Ugniježđeni prostor imena u 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(); ) ) ) 

Kada pokrenemo program, izlaz će biti:

 Primjer ugniježđenog prostora imena

Ovaj primjer ilustrira kako se ugniježđeni prostor imena može implementirati u C #.

Evo, sada imamo dodatni prostor imena koji se MyNamespacezove Nested. Dakle, umjesto da koristimo MyNamespace.SampleClass.myMethod(), moramo koristiti MyNamespace.Nested.SampleClass.myMethod().

Zanimljivi članci...