обычно вводится в самом начале любой программы на С#. Как пояснялось в главе 14, классы ввода-вывода определены в пространстве именSystem. 10,подчиненном пространству именSystem.Ему подчинены и многие другие пространства имен, относящиеся к разным частям библиотеки классов С#.

Пространства имен важны потому, что за последние годы в программировании "расплодились" в огромном количестве имена переменных, методов, свойств и классов, применяемых в библиотечных программах, стороннем и собственном коде. Поэтому без отдельных пространств все эти имена будут соперничать за место в глобальном пространстве имен, порождая конфликтные ситуации. Так, если в программе определен классFinder,то этот класс может вступить в конфликт с другим классомFinder,доступным в сторонней библиотеке, используемой в этой программе. К счастью, подобного конфликта можно избежать, используя отдельные пространства имен, ограничивающие область видимости объявленных в них имен.

Объявление пространства имен

Пространство имен объявляется с помощью ключевого словаnamespace.Ниже приведена общая форма объявления пространства имен:

namespaceимя {

11члены

}

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

Ниже приведен пример объявленияnamespaceдля создания пространства именCounter.В этом пространстве локализуется имя, используемое для реализации простого класса вычитающего счетчикаCountDown.

// Объявить пространство имен для счетчиков.

namespace Counter {

// Простой вычитающий счетчик, class CountDown { int val;

public CountDown(int n) { val = n;

}

public void Reset(int n) { val = n;

}

public int Count()    {

if(val > 0) return val—; else return 0;

}

} // Это конец пространства имен Counter.

Обратите внимание на то, что классCountDownобъявляется в пределах области действия пространства именCounter.Для того чтобы проработать этот пример на практике, поместите приведенный выше код в файлCounter, cs.

Ниже приведен пример программы, демонстрирующий применение пространства именCounter.

// Продемонстрировать применение пространства имен Counter.

using System;

class NSDemo {

static void Main() {

// Обратите внимание на то, как класс CountDown // определяется с помощью пространства имен Counter.

Перейти на страницу:

Похожие книги