Значение механизма пространств имен состоит в том, что появляется возможность логической структуризации системы типизации Common Type System в среде разработки приложений Microsoft .NET.
Описания пространств имен по аналогии с описаниями типов данных размещаются в файлах.
Перечислим основные свойства, которыми характеризуются пространства имен в среде Microsoft .NET:
пространства имен могут объединять различные сборки;
пространства имен могут быть вложенными друг в друга;
Для иллюстрации применения механизма пространств имен в среде программирования Microsoft .NET приведем развернутый пример описания пространств имен на языке программирования C#:
namespace N1{ // N1 class C1{ // N1.C1 class C2{ // N1.C1.C2 } } namespace N2{ //N1.N2 class C2{ // N1.N2.C2 } } }
Рассмотренный пример содержит описания пространств двух имен: пространства N1 с описанием классов C1 и C2 и пространства N2 с описанием класса C2.
Заметим, что в комментариях к каждой строке программы на языке C# приведены полные наименования пространств имен. Так, для обращения к классу C2, описанному в пространстве имен N1, нужно использовать полное имя N1.C1.C2, а для обращения к классу C2, описанному в пространстве имен N2 - полное имя N1.N2.C2.
Таким образом, при адекватном употреблении полных квалификационных наименований пространств имен удается избежать коллизии обозначений типов.
Очевидно, что при проектировании и реализации масштабных программных комплексов используется весьма значительное количество идентификаторов и риск коллизии обозначений при использовании полных квалификационных имен многократно возрастает.
Оказывается, что непременное использование полных имен типов в среде программирования Microsoft .NET является избыточным требованием.
Для экономии трудозатрат и во избежание коллизий обозначений при разработке крупных программных систем в языке программирования C# предусмотрен оператор using, к рассмотрению которого мы и переходим.