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:
- Névterek (Beágyazott névtér)
- Osztályok
- Interfészek
- Szerkezetek
- 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 MyNamespace
jön létre. Egy tagból álló osztályból áll MyClass
. MyMethod
osztá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 MyNamespace
neve Nested
. Tehát a használat helyett MyNamespace.SampleClass.myMethod()
használnunk kell MyNamespace.Nested.SampleClass.myMethod()
.