У овом упутству ћемо научити о именским просторима, како га дефинисати, приступити његовим члановима и користити га у програму Ц #.
Простори имена се користе у Ц # за организовање и обезбеђивање нивоа раздвајања кодова. Могу се сматрати контејнером који се састоји од других простора имена, класа итд.
Простор имена може имати следеће типове као своје чланове:
- Простори имена (угнежђени простор имена)
- Предавања
- Интерфејси
- Структуре
- Делегати
О овим темама ћемо разговарати у каснијим водичима. За сада ћемо се држати класа и простора имена.
Простори имена нису обавезни у програму Ц #, али играју важну улогу у писању чистијих кодова и управљању већим пројектима.
Хајде да разумемо концепт простора имена са сценаријем из стварног живота. У рачунару имамо велики број датотека и директоријума. Замислите како би било тешко управљати њима ако су смештени у један директоријум. Због тога сродне датотеке и фасцикле стављамо у засебан директоријум. Ово нам помаже да правилно управљамо подацима.
Концепт простора имена је сличан у Ц #. Помаже нам да организујемо различите чланове стављањем повезаних чланова у исти простор имена.
Простор имена такође решава проблем сукоба именовања . Две или више класа када се ставе у различите просторе имена могу имати исто име.
Дефинисање простора имена у Ц #
Простор имена можемо дефинисати у Ц # користећи кључну реч намеспаце као:
намеспаце Име простора-Име (// Тијело простора имена)
На пример:
namespace MyNamespace ( class MyClass ( public void MyMethod() ( System.Console.WriteLine("Creating my namespace"); ) ) )
У горњем примеру MyNamespace
је креиран простор имена . Састоји се од класе MyClass
као свог члана. MyMethod
је метода класе MyClass
.
Приступ члановима простора имена у Ц #
Члановима простора имена може се приступити помоћу dot(.)
оператора. Синтакса приступа члану простора имена је,
Намепаце-Наме.Мембер-Наме
На пример, ако треба да креирамо објекат МиЦласс-а, то можемо учинити као,
МиНамеспаце.МиЦласс миЦласс = нови МиНамеспаце.МиЦласс ();
О стварању објеката разговараћемо у каснијим водичима. За сада се само усредсредите на начин MyClass
приступа класи .
Пример 1: Увођење простора имена у програму Ц #
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(); ) ) )
Када покренемо програм, излаз ће бити:
Креирање мог простора имена
У горе наведеном програму створили смо сопствени простор имена MyNamespace
и приступили његовим члановима из Main()
унутрашње методе MyClass
. Као што је раније речено, dot (.)
оператор се користи за приступ члану простора имена.
У Main()
методи се myMethod()
метода позива помоћу dot (.)
оператора.
Коришћење простора имена у Ц # (употреба кључне речи)
Простор имена може бити укључен у програм помоћу кључне речи усинг. Синтакса је,
користећи НамеСпаце-Наме;
На пример,
коришћење система;
Предност овог приступа је што не морамо навести потпуно квалификовано име чланова тог простора имена сваки пут када му приступамо.
Једном црта
коришћење система;
је укључен у врх програма. Можемо писати
Цонсоле.ВритеЛине („Хелло Ворлд!“);
Уместо потпуно квалификованог имена тј
Систем.Цонсоле.ВритеЛине ("Здраво, свет!");
Угњежђени простор имена у Ц #
Простор имена може садржати други простор имена. Зове се угнежђени простор имена. Угњежђеном простору имена и његовим члановима такође се може приступити помоћу dot (.)
оператора.
Синтакса за стварање угнежђеног простора имена је следећа:
простор имена МиНамеспаце (простор имена НестедНамеспаце (// Тијело угнијежђеног простора имена))
Пример 2: Угњежђени простор имена у Ц #
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(); ) ) )
Када покренемо програм, излаз ће бити:
Пример угнежђеног простора имена
Овај пример илуструје како се угнежђени простор имена може применити у Ц #.
Ево, сада имамо додатни простор имена који се MyNamespace
зове Nested
. Дакле, уместо да користимо MyNamespace.SampleClass.myMethod()
, морамо да користимо MyNamespace.Nested.SampleClass.myMethod()
.