В этом руководстве мы узнаем о пространствах имен, как их определять, получать доступ к их членам и использовать их в программе на C #.
Пространства имен используются в C # для организации и обеспечения определенного уровня разделения кодов. Их можно рассматривать как контейнер, состоящий из других пространств имен, классов и т. Д.
Пространство имен может иметь в качестве членов следующие типы:
- Пространства имен (вложенное пространство имен)
- Классы
- Интерфейсы
- Структуры
- Делегаты
Мы обсудим эти темы в следующих уроках. Пока мы будем придерживаться классов и пространств имен.
Пространства имен не являются обязательными в программе на 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()
.