C # Spații de nume (cu exemple)

În acest tutorial, vom afla despre spațiile de nume, cum să-l definim, să accesăm membrii acestuia și să-l folosim într-un program C #.

Spațiile de nume sunt utilizate în C # pentru a organiza și a oferi un nivel de separare a codurilor. Ele pot fi considerate ca un container care constă din alte spații de nume, clase etc.

Un spațiu de nume poate avea următoarele tipuri ca membri:

  1. Spații de nume (spațiu de nume imbricat)
  2. Clase
  3. Interfețe
  4. Structuri
  5. Delegați

Vom discuta despre aceste subiecte în tutoriale ulterioare. Deocamdată vom rămâne cu clase și spații de nume.

Spațiile de nume nu sunt obligatorii într-un program C #, dar joacă un rol important în scrierea codurilor mai curate și gestionarea proiectelor mai mari.

Să înțelegem conceptul de spațiu de nume cu un scenariu din viața reală. Avem un număr mare de fișiere și foldere în computerul nostru. Imaginați-vă cât de dificil ar fi să le gestionați dacă sunt plasate într-un singur director. Acesta este motivul pentru care am plasat fișierele și folderele aferente într-un director separat. Acest lucru ne ajută să ne gestionăm corect datele.

Conceptul de spațiu de nume este similar în C #. Ne ajută să organizăm membrii diferiți punând membrii înrudiți în același spațiu de nume.

Spațiul de nume rezolvă, de asemenea, problema conflictului de denumire . Două sau mai multe clase atunci când sunt plasate în spații de nume diferite pot avea același nume.

Definirea spațiului de nume în C #

Putem defini un spațiu de nume în C # folosind cuvântul cheie spațiu de nume ca:

 namespace Name-Name (// Corpul spațiului de nume) 

De exemplu:

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

În exemplul de mai sus, MyNamespaceeste creat un spațiu de nume . Se compune dintr-o clasă MyClassca membru al acesteia. MyMethodeste o metodă de clasă MyClass.

Accesarea membrilor spațiului de nume în C #

Membrii unui spațiu de nume pot fi accesați utilizând dot(.)operatorul. Sintaxa pentru accesarea membrului spațiului de nume este,

 Name-Name.Member-Name

De exemplu, dacă trebuie să creăm un obiect din MyClass, se poate face ca,

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

Vom discuta despre crearea obiectelor în tutoriale ulterioare. Deocamdată concentrați-vă doar asupra modului în care MyClasseste accesată clasa .

Exemplul 1: Introducerea spațiului de nume în programul 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(); ) ) ) 

Când rulăm programul, ieșirea va fi:

 Crearea spațiului meu de nume

În programul de mai sus, am creat propriul nostru spațiu de nume MyNamespaceși am accesat membrii acestuia din Main()metoda din interior MyClass. Așa cum am spus mai devreme, dot (.)operatorul este utilizat pentru a accesa membrul spațiului de nume.

În Main()metodă, myMethod()metoda se numește folosind dot (.)operatorul.

Utilizarea unui spațiu de nume în C # (Cuvântul cheie)

Un spațiu de nume poate fi inclus într-un program folosind cuvântul cheie folosind. Sintaxa este,

 folosind namespace-name;

De exemplu,

 utilizarea sistemului;

Avantajul acestei abordări este că nu trebuie să specificăm numele complet calificat al membrilor acelui spațiu de nume de fiecare dată când îl accesăm.

Odată ce linia

 utilizarea sistemului;

este inclus în partea de sus a programului. Putem scrie

 Console.WriteLine („Bună ziua lume!”);

În loc de numele complet calificat, adică

 System.Console.WriteLine ("Hello World!");

Spațiu de nume imbricat în C #

Un spațiu de nume poate conține un alt spațiu de nume. Se numește spațiu de nume imbricat. Spațiul de nume imbricat și membrii acestuia pot fi de asemenea accesați utilizând dot (.)operatorul.

Sintaxa pentru crearea spațiului de nume imbricat este după cum urmează:

 spațiu de nume MyNamespace (spațiu de nume NestedNamespace (// Corpul spațiului de nume imbricat)) 

Exemplul 2: spațiu de nume imbricat în 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(); ) ) ) 

Când rulăm programul, ieșirea va fi:

 Exemplu de spațiu de nume imbricat

Acest exemplu ilustrează modul în care spațiul de nume imbricat poate fi implementat în C #.

Aici avem acum un spațiu de nume suplimentar MyNamespacenumit Nested. Deci, în loc să folosim MyNamespace.SampleClass.myMethod(), trebuie să folosim MyNamespace.Nested.SampleClass.myMethod().

Articole interesante...