Šajā apmācībā mēs uzzināsim par nosaukumvietām, kā to definēt, piekļūt tās dalībniekiem un izmantot to C # programmā.
Vārdvietas tiek izmantotas C #, lai sakārtotu un nodrošinātu kodu atdalīšanas līmeni. Tos var uzskatīt par konteineru, kas sastāv no citām nosaukumvietām, klasēm utt.
Vārdamvietas locekļi var būt šādi:
- Vārdamvietas (ligzdotas nosaukumvietas)
- Klases
- Saskarnes
- Struktūras
- Delegāti
Par šīm tēmām mēs apspriedīsim turpmākajās apmācībās. Pagaidām mēs paliksim pie klasēm un nosaukumvietām.
Vārdvietas C # programmā nav obligātas, taču tām ir svarīga loma, rakstot tīrākus kodus un pārvaldot lielākus projektus.
Sapratīsim nosaukumvietas jēdzienu ar reālās dzīves scenāriju. Mūsu datorā ir liels skaits failu un mapju. Iedomājieties, cik grūti būtu tos pārvaldīt, ja tie tiek ievietoti vienā direktorijā. Tāpēc saistītos failus un mapes ievietojam atsevišķā direktorijā. Tas mums palīdz pareizi pārvaldīt savus datus.
Vārdvietas jēdziens ir līdzīgs C #. Tas palīdz mums organizēt dažādus locekļus, ievietojot saistītos locekļus vienā nosaukumvietā.
Vārdamvieta atrisina arī konfliktu nosaukšanas problēmu . Divām vai vairākām klasēm, ja tās ievieto dažādās nosaukumvietās, var būt tāds pats nosaukums.
Vārdamvietas definēšana C #
Mēs varam definēt nosaukumvietu C #, izmantojot vārdu vietas atslēgvārdu kā:
namespace Namespace-Name (// nosaukumvietas pamatteksts)
Piemēram:
namespace MyNamespace ( class MyClass ( public void MyMethod() ( System.Console.WriteLine("Creating my namespace"); ) ) )
Iepriekš minētajā piemērā MyNamespace
tiek izveidota nosaukumvieta. To veido klase MyClass
kā tās loceklis. MyMethod
ir klases metode MyClass
.
Piekļuve vārda vietas dalībniekiem C #
Vārdvietas dalībniekiem var piekļūt, izmantojot dot(.)
operatoru. Sintakse piekļuvei vārda vietas dalībniekam ir
Vārdtelpas nosaukums. Biedra vārds
Piemēram, ja mums ir jāizveido MyClass objekts, to var izdarīt kā
MyNamespace.MyClass myClass = new MyNamespace.MyClass ();
Par objektu izveidošanu mēs apspriedīsim turpmākajās apmācībās. Pagaidām vienkārši koncentrējieties uz to, kā MyClass
piekļūstiet klasei .
1. piemērs: Vārdvietas ieviešana C # programmā
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(); ) ) )
Kad mēs palaidīsim programmu, izeja būs:
Mana vārda vietas izveide
Iepriekš minētajā programmā mēs esam izveidojuši savu vārdu telpu MyNamespace
un piekļuvuši tās dalībniekiem no Main()
metodes iekšienes MyClass
. Kā minēts iepriekš, dot (.)
operators tiek izmantots, lai piekļūtu vārda vietas dalībniekam.
Šajā Main()
metodē, myMethod()
metode tiek saukta izmantojot dot (.)
operatoru.
Vārdamvietas izmantošana C # (The using Keyword)
Vārdamvietu var iekļaut programmā, izmantojot atslēgvārdu. Sintakse ir
izmantojot Namespace-Name;
Piemēram,
izmantojot sistēmu;
Šīs pieejas priekšrocība ir tā, ka mums nav jānorāda pilnībā kvalificēts šīs vārda vietas dalībnieku vārds katru reizi, kad piekļūstam tai.
Kad līnija
izmantojot sistēmu;
ir iekļauts programmas augšdaļā. Mēs varam rakstīt
Console.WriteLine ("Sveika pasaule!");
Pilnībā kvalificēta nosaukuma vietā, ti
System.Console.WriteLine ("Sveika pasaule!");
Ligzdotas nosaukumvietas C #
Vārdtelpā var būt cita nosaukumvieta. To sauc par ligzdotu nosaukumvietu. Ligzdotajai nosaukumvietai un tās dalībniekiem var piekļūt arī, izmantojot dot (.)
operatoru.
Ligzdoto nosaukumvietas izveidošanas sintakse ir šāda:
nosaukumvieta MyNamespace (nosaukumvieta NestedNamespace (// ligzdoto nosaukumvietas pamatteksts))
2. piemērs: ligzdotā nosaukumvieta 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(); ) ) )
Kad mēs palaidīsim programmu, izeja būs:
Ligzdotu nosaukumvietas piemērs
Šis piemērs parāda, kā ligzdoto nosaukumvietu var ieviest C #.
Šeit mums tagad ir papildu nosaukumvieta, ko MyNamespace
sauc Nested
. Tātad, tā vietā, lai izmantotu MyNamespace.SampleClass.myMethod()
, mums ir jāizmanto MyNamespace.Nested.SampleClass.myMethod()
.