V tomto tutoriále sa dozvieme o Namespaces, ako ich definovať, pristupovať k ich členom a používať ich v C # programe.
Menné priestory sa v C # používajú na usporiadanie a zabezpečenie úrovne oddelenia kódov. Môžu sa považovať za kontajner, ktorý sa skladá z iných menných priestorov, tried atď.
Obor názvov môže mať ako členov nasledujúce typy:
- Menné priestory (vnorený menný priestor)
- Triedy
- Rozhrania
- Štruktúry
- Delegáti
O týchto témach budeme diskutovať v ďalších tutoriáloch. Zatiaľ sa budeme držať tried a mien.
Menné priestory nie sú v programe C # povinné, ale hrajú dôležitú úlohu pri písaní čistejších kódov a správe väčších projektov.
Poďme pochopiť koncept menného priestoru so scenárom z reálneho života. V našom počítači máme veľké množstvo súborov a priečinkov. Predstavte si, aké ťažké by bolo spravovať ich, ak by boli umiestnené v jednom adresári. Preto sme súvisiace súbory a priečinky vložili do samostatného adresára. To nám pomáha správne spravovať naše údaje.
Koncept menného priestoru je v C # podobný. Pomáha nám organizovať rôznych členov tým, že podobných členov umiestňujeme do rovnakého priestoru mien.
Namespace tiež rieši problém pomenovania konfliktu . Dve alebo viac tried, keď sú umiestnené do rôznych menných priestorov, môžu mať rovnaké meno.
Definovanie menného priestoru v C #
Menný priestor v C # môžeme definovať pomocou kľúčového slova namespace ako:
namespace Namespace-Name (// Telo menného priestoru)
Napríklad:
namespace MyNamespace ( class MyClass ( public void MyMethod() ( System.Console.WriteLine("Creating my namespace"); ) ) )
Vo vyššie uvedenom príklade sa vytvorí menný priestor MyNamespace
. Skladá sa z triedy MyClass
ako jej člena. MyMethod
je metóda triedy MyClass
.
Prístup k členom menného priestoru v C #
K členom menného priestoru je možné získať prístup pomocou dot(.)
operátora. Syntax pre prístup k členovi menného priestoru je,
Názov priestoru názvov. Meno člena
Napríklad, ak potrebujeme vytvoriť objekt MyClass, dá sa to urobiť ako,
MyNamespace.MyClass myClass = nový MyNamespace.MyClass ();
O vytváraní objektov budeme hovoriť v ďalších tutoriáloch. Zatiaľ sa sústreďte iba na to, ako je do triedy MyClass
pristupované.
Príklad 1: Predstavenie menného priestoru v programe 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(); ) ) )
Keď spustíme program, výstup bude:
Vytvára sa môj menný priestor
Vo vyššie uvedenom programe sme vytvorili náš vlastný vlastný priestor mien MyNamespace
a pristupovali k jeho členom z Main()
metódy vo vnútri MyClass
. Ako už bolo povedané, dot (.)
operátor sa používa na prístup k členovi menného priestoru.
V Main()
metóde sa myMethod()
metóda nazýva pomocou dot (.)
operátora.
Používanie menného priestoru v C # (použitie kľúčového slova)
Obor názvov je možné zahrnúť do programu pomocou kľúčového slova using. Syntax je,
pomocou Namespace-Name;
Napríklad,
pomocou systému;
Výhodou tohto prístupu je, že nemusíme zadávať úplný názov členov tohto menného priestoru zakaždým, keď k nemu pristupujeme.
Raz linka
pomocou systému;
je zahrnutá v hornej časti programu. Môžeme písať
Console.WriteLine („Hello World!“);
Namiesto plne kvalifikovaného názvu tj
System.Console.WriteLine ("Hello World!");
Vnorený menný priestor v C #
Obor názvov môže obsahovať iný priestor názvov. Nazýva sa to vnorený priestor názvov. Vnorený priestor názvov a jeho členovia sú tiež prístupní pomocou dot (.)
operátora.
Syntax pre vytvorenie vnoreného priestoru mien je nasledovná:
namespace MyNamespace (namespace NestedNamespace (// Body of nested namespace))
Príklad 2: Vnorený menný priestor 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(); ) ) )
Keď spustíme program, výstup bude:
Príklad vnoreného menného priestoru
Tento príklad ukazuje, ako je možné vnorený priestor názvov implementovať v C #.
Tu máme teraz naviac namespace vnútro MyNamespace
volal Nested
. Takže namiesto použitia MyNamespace.SampleClass.myMethod()
musíme použiť MyNamespace.Nested.SampleClass.myMethod()
.