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