Ватсон Карли
Шрифт:
Пространства имен
Основная часть исходного кода
Класс
Пространство имен не имеет аналогии в VB и проще всего представить его как способ организации имен классов таким образом, как файловая система организует имена файлов. Например, почти наверняка на жестком диске имеется большое количество файлов, которые имеют имя
Пространства имен работают так же, но без дополнительных расходов, связанных с созданием реальной файловой системы — они являются по сути не более чем метками. Формально не требуется ничего делать, чтобы создать пространство имен, кроме просто объявления его в коде таким способом, как было сделано в примере выше. Код, представленный в нем, означает, что полное имя класса, который был определен, будет не
Исключение конфликтов такого рода важно в C#, так как рабочая среда .NET использует только эти имена для идентификации классов, в то время как элементы управления ActiveX, созданные VB, применяют для ухода от конфликтов имен сложный механизм, включающий GUID. Компания Microsoft предпочла более простую концепцию пространств имен в связи с опасениями, что некоторые сложности COM, такие как GUID, сделают неоправданно трудным для разработчиков создание хороших приложений Windows.
Хотя в C# пространства имен и не являются строго обязательными, настоятельно рекомендуется все классы помещать в пространство имен, чтобы предотвратить любые возможные конфликты имен с другим программным обеспечением. Фактически крайне редко можно увидеть код C#, который не начинается с объявления пространства имен.
Пространства имен могут быть вложенными. Например, приведенный выше код пространства имен:
можно было бы записать следующим образом:
В этом коде добавлены закрывающие фигурные скобки, просто чтобы подчеркнуть, что они всегда должны соответствовать открывающим. Фигурные скобки используются для отметки границ пространств имен и классов так же, как они используются для отметки границ методов и составных инструкций.