Пространства имен. Импортирование. Класс DirectoryInfo.
При использовании кода, написанного другими программистами, всегда возникает потенциальная опасность конфликтов имен. Но даже если забыть об этих конфликтах, все равно необходимо каким-то образом сгруппировать тысячи методов в соответствии с их функциональным назначением. Следовательно, в огромной библиотеке классов .NET должен существовать какой-либо способ логической группировки информации. В .NET эта задача решается при помощи пространств имен. Конечно, вы можете создавать собственные пространства имен; ниже в этой главе мы покажем, как это делается.
В каждом городе есть своя Главная Улица, а в каждой библиотеке непременно найдется метод с именем Open. Пространства имен позволяют различать эти методы. Например, в пространстве имен System.IO собраны методы для выполнения файловых операций; в него входит класс Filе, а в этом классе имеется метод Open. Полное имя метода выглядит так:
System.IO.File.Open
Класс File является частью пространства имен System.IO, поэтому он не конфликтует с другим классом File из пространства имен Cornell.Morrison.NiftyClasses, который также может содержать собственный метод Open.
Импортирование
Обращаясь к хорошим знакомым, мы не называем их по имени-отчеству и фамилии. В .NET предусмотрена возможность импортирования пространств имен командой Imports, что позволяет избавиться от громоздких полных имен. После правильной команды Imports все ссылки вида:
System.Text.StringBuilder.
Могут заменяться простым именем StringBuilder.
Пространство имен System автоматически импортируется в каждое решение, созданное в Visual Studio. Благодаря этому методы этого пространства имен могут вызываться в виде Console.WriteLine() вместо полного имени System.Console.WrlteLlne().
Список пространств имен, автоматически импортируемых в решение, находится на странице Imports окна свойств решения (рис. 4.2).
Рис. 4.2. Страница Imports окна свойств решения