Пространства имен C # (с примерами)

В этом руководстве мы узнаем о пространствах имен, как их определять, получать доступ к их членам и использовать их в программе на C #.

Пространства имен используются в C # для организации и обеспечения определенного уровня разделения кодов. Их можно рассматривать как контейнер, состоящий из других пространств имен, классов и т. Д.

Пространство имен может иметь в качестве членов следующие типы:

  1. Пространства имен (вложенное пространство имен)
  2. Классы
  3. Интерфейсы
  4. Структуры
  5. Делегаты

Мы обсудим эти темы в следующих уроках. Пока мы будем придерживаться классов и пространств имен.

Пространства имен не являются обязательными в программе на C #, но они играют важную роль в написании более чистого кода и управлении более крупными проектами.

Давайте разберемся с концепцией пространства имен на примере реальной жизни. У нас на компьютере большое количество файлов и папок. Представьте, как сложно было бы ими управлять, если бы они были помещены в один каталог. Вот почему мы помещаем связанные файлы и папки в отдельный каталог. Это помогает нам правильно управлять нашими данными.

Концепция пространства имен аналогична C #. Это помогает нам организовывать разные члены, помещая связанные члены в одно и то же пространство имен.

Пространство имен также решает проблему конфликта имен . Два или более класса, помещенные в разные пространства имен, могут иметь одно и то же имя.

Определение пространства имен в C #

Мы можем определить пространство имен в C #, используя ключевое слово namespace как:

 namespace Namespace-Name (// Тело пространства имен) 

Например:

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

В приведенном выше примере создается пространство имен MyNamespace. Он состоит из класса в MyClassкачестве его члена. MyMethodэто метод класса MyClass.

Доступ к членам пространства имен в C #

Доступ к членам пространства имен можно получить с помощью dot(.)оператора. Синтаксис для доступа к члену пространства имен:

 Имя-пространства имен.Имя-члена

Например, если нам нужно создать объект MyClass, это можно сделать как

 MyNamespace.MyClass myClass = новый MyNamespace.MyClass ();

Мы обсудим создание объектов в следующих уроках. А пока просто сосредоточьтесь на том, как MyClassосуществляется доступ к классу .

Пример 1. Введение в пространство имен в программе на 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(); ) ) ) 

Когда мы запустим программу, вывод будет:

 Создание моего пространства имен

В приведенной выше программе мы создали собственное пространство имен MyNamespaceи получили доступ к его членам из Main()внутреннего метода MyClass. Как было сказано ранее, dot (.)оператор используется для доступа к члену пространства имен.

В Main()методе myMethod()метод вызывается с помощью dot (.)оператора.

Использование пространства имен в C # (ключевое слово using)

Пространство имен может быть включено в программу с помощью ключевого слова using. Синтаксис:

 using Namespace-Name;

Например,

 используя Систему;

Преимущество этого подхода в том, что нам не нужно указывать полное имя членов этого пространства имен каждый раз, когда мы обращаемся к нему.

Как только линия

 используя Систему;

включен в начало программы. Мы можем написать

 Console.WriteLine («Привет, мир!»);

Вместо полного имени, т.е.

 System.Console.WriteLine («Привет, мир!»);

Вложенное пространство имен в C #

Пространство имен может содержать другое пространство имен. Это называется вложенным пространством имен. Доступ к вложенному пространству имен и его членам также можно получить с помощью dot (.)оператора.

Синтаксис для создания вложенного пространства имен следующий:

 пространство имен MyNamespace (пространство имен NestedNamespace (// Тело вложенного пространства имен)) 

Пример 2: Вложенное пространство имен в 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(); ) ) ) 

Когда мы запустим программу, вывод будет:

 Пример вложенного пространства имен

Этот пример показывает, как вложенное пространство имен может быть реализовано в C #.

Здесь, у нас теперь есть дополнительное внутреннее пространство имен с MyNamespaceименем Nested. Итак, вместо использования MyNamespace.SampleClass.myMethod()мы должны использовать MyNamespace.Nested.SampleClass.myMethod().

Интересные статьи...