Jmenné prostory C # (s příklady)

V tomto kurzu se dozvíme o jmenných prostorech, jak je definovat, přistupovat k jejich členům a používat je v C # programu.

Jmenné prostory se v C # používají k organizaci a zajištění úrovně oddělení kódů. Lze je považovat za kontejner, který se skládá z jiných jmenných prostorů, tříd atd.

Obor názvů může mít jako členy následující typy: A namespace can have following types as its members:

  1. Jmenné prostory (vnořený jmenný prostor)
  2. Třídy
  3. Rozhraní
  4. Struktury
  5. Delegáti

O těchto tématech budeme diskutovat v pozdějších cvičeních. Prozatím zůstaneme u tříd a jmenných prostorů.

Jmenné prostory nejsou v programu C # povinné, ale hrají důležitou roli při psaní čistších kódů a správě větších projektů.

Pojďme pochopit koncept jmenného prostoru se scénářem z reálného života. V počítači máme velké množství souborů a složek. Představte si, jak obtížné by bylo spravovat je, pokud by byly umístěny do jednoho adresáře. Proto jsme přidali související soubory a složky do samostatného adresáře. To nám pomáhá správně spravovat naše data.

Koncept oboru názvů je podobný v C #. Pomáhá nám organizovat různé členy tím, že spojuje příbuzné členy do stejného prostoru jmen.

Obor názvů také řeší problém konfliktu pojmenování . Dvě nebo více tříd po vložení do různých jmenných prostorů může mít stejný název.

Definování jmenného prostoru v C #

Můžeme definovat jmenný prostor v C # pomocí klíčového slova jmenného prostoru jako:

 namespace Namespace-Name (// Body of namespace) 

Například:

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

Ve výše uvedeném příkladu MyNamespaceje vytvořen jmenný prostor . Skládá se z třídy MyClassjako jejího člena. MyMethodje metoda třídy MyClass.

Přístup k členům jmenného prostoru v C #

K členům oboru názvů lze přistupovat pomocí dot(.)operátoru. Syntaxe pro přístup k členovi oboru názvů je,

 Název oboru názvů. Název člena

Například pokud potřebujeme vytvořit objekt MyClass, lze to udělat jako,

 MyNamespace.MyClass myClass = nový MyNamespace.MyClass ();

O vytváření objektů budeme diskutovat v pozdějších cvičeních. Zatím se jen zaměřte na to, jak je třída MyClasspřístupná.

Příklad 1: Představení oboru názvů 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(); ) ) ) 

Když spustíme program, výstup bude:

 Vytváření mého jmenného prostoru

Ve výše uvedeném programu jsme vytvořili náš vlastní jmenný prostor MyNamespacea přistupovali k jeho členům z Main()metody uvnitř MyClass. Jak již bylo řečeno, dot (.)operátor se používá pro přístup k členovi oboru názvů.

V Main()metodě se myMethod()metoda volá pomocí dot (.)operátoru.

Používání jmenného prostoru v C # (Používání klíčového slova)

Obor názvů lze zahrnout do programu pomocí klíčového slova using. Syntaxe je,

 pomocí Namespace-Name;

Například,

 pomocí systému;

Výhodou tohoto přístupu je, že nemusíme zadávat plně kvalifikovaný název členů daného oboru názvů pokaždé, když k němu přistupujeme.

Jednou linka

 pomocí systému;

je zahrnuta v horní části programu. Můžeme psát

 Console.WriteLine („Hello World!“);

Místo plně kvalifikovaného názvu, tj

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

Vnořený jmenný prostor v C #

Obor názvů může obsahovat jiný obor názvů. Říká se tomu vnořený jmenný prostor. K vnořenému oboru názvů a jeho členům lze přistupovat také pomocí dot (.)operátoru.

Syntaxe pro vytváření vnořeného oboru názvů je následující:

 namespace MyNamespace (namespace NestedNamespace (// Body of nested namespace)) 

Příklad 2: Vnořený jmenný prostor v 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(); ) ) ) 

Když spustíme program, výstup bude:

 Příklad vnořeného oboru názvů

Tento příklad ukazuje, jak lze vnořený jmenný prostor implementovat v C #.

Zde nyní máme uvnitř MyNamespacevolán další jmenný prostor Nested. Takže místo použití MyNamespace.SampleClass.myMethod()musíme použít MyNamespace.Nested.SampleClass.myMethod().

Zajímavé články...