C # névterek (példákkal)

Ebben az oktatóanyagban megismerkedhetünk a Névterekkel, annak meghatározásával, a tagok elérésével és egy C # programban történő felhasználásával.

A névtereket a C # számban használják a kódok elválasztásának rendezésére és szintjének biztosítására. Tartálynak tekinthetők, amely más névterekből, osztályokból stb.

Egy névtér tagjai a következő típusok lehetnek:

  1. Névterek (Beágyazott névtér)
  2. Osztályok
  3. Interfészek
  4. Szerkezetek
  5. Küldöttek

Ezekkel a témákkal kapcsolatban későbbi oktatóanyagokban fogunk beszélgetni. Egyelőre ragaszkodunk az osztályokhoz és a névterekhez.

A névterek nem kötelezőek a C # programban, de fontos szerepet játszanak a tisztább kódok írásában és a nagyobb projektek kezelésében.

Értsük meg a névtér fogalmát valós forgatókönyv szerint. Számos fájlunk és mappánk van. Képzelje el, milyen nehéz lenne kezelni őket, ha egyetlen könyvtárba kerülnek. Ezért a kapcsolódó fájlokat és mappákat külön könyvtárba helyezzük. Ez segít az adataink megfelelő kezelésében.

A névtér fogalma hasonló a C # -ben. Segít abban, hogy különböző tagokat szervezzünk azáltal, hogy a kapcsolódó tagokat ugyanazon névtérbe helyezzük.

A névtér megoldja a konfliktusok elnevezésének problémáját is . Két vagy több osztály, ha különböző névtérbe kerül, ugyanazon névvel rendelkezhetnek.

Névtér meghatározása C # -ben

Meghatározhatunk egy névteret a C # -ban a névtér kulcsszó használatával:

 névtér Névtér-név (// névtér törzse) 

Például:

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

A fenti példában névtér MyNamespacejön létre. Egy tagból álló osztályból áll MyClass. MyMethodosztályos módszer MyClass.

Hozzáférés a névtér tagjaihoz a C # számban

A névtér tagjai az dot(.)operátor segítségével érhetők el . A névtér tagjának elérésének szintaxisa a következő:

 Névtér-név. Tag-név

Például, ha létre kell hoznunk egy objektumot a MyClass-ból, akkor ezt megtehetjük,

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

Az objektumok létrehozásáról későbbi oktatóanyagokban fogunk beszélni. Most csak arra összpontosítson, hogy az osztály hogyan MyClassérhető el.

1. példa: A névtér bemutatása a C # programban

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

A program futtatásakor a kimenet a következő lesz:

 A névtér létrehozása

A fenti programban létrehoztuk a saját névterünket, MyNamespaceés tagjait Main()belülről érhettük el MyClass. Mint korábban említettük, az dot (.)operátort a névtér tagjának elérésére használják.

A Main()módszerben a metódust myMethod()az dot (.)operátor segítségével hívják meg .

Névtér használata C # -ben (A használó kulcsszó)

Egy névtér beilleszthető a programba a using kulcsszó használatával. A szintaxis:

 a Névtér-Név használatával;

Például,

 a System használatával;

Ennek a megközelítésnek az az előnye, hogy nem kell minden alkalommal megadnunk a névtér tagjainak teljes nevét, amikor belépünk.

Miután a vonal

 a System használatával;

szerepel a program tetején. Tudunk írni

 Console.WriteLine ("Hello World!");

A teljesen minősített név helyett pl

 System.Console.WriteLine ("Helló világ!");

Beágyazott névtér C # -ben

A névtér tartalmazhat másik névteret. Beágyazott névtérnek hívják. A beágyazott névtér és tagjai az dot (.)operátor segítségével is elérhetők .

A beágyazott névtér létrehozásának szintaxisa a következő:

 névtér SajátNévtér (névtér NestedNamespace (// beágyazott névtér törzse)) 

2. példa: Beágyazott névtér a C # mezőben

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

A program futtatásakor a kimenet a következő lesz:

 Beágyazott névtér példa

Ez a példa bemutatja, hogy a beágyazott névtér hogyan valósítható meg a C # -ben.

Itt van egy extra névtér, a MyNamespaceneve Nested. Tehát a használat helyett MyNamespace.SampleClass.myMethod()használnunk kell MyNamespace.Nested.SampleClass.myMethod().

érdekes cikkek...