Пространство имен
Общая информация
Пространство имен — это область кода, в рамках которой «1С:Шина» гарантирует уникальность используемых имен. Каждое имя принадлежит какому-либо пространству имен. Любой тип в языке имеет квалифицированное имя. Квалифицированное имя включает в себя имя типа, перед которым в иерархическом порядке указываются пространства имен, которым он принадлежит. Части имени разделяются оператором разрешения области видимости ::
(двойное двоеточие).
Поддерживаются следующие форматы имен:
-
Полное квалифицированное имя:
Поставщик::ИмяПроекта::Подсистема[::Пакет]::ИмяТипа
.Например:
e1c::ДемоПроект::Основное::КурсыВалют.Запись
-
Частичное квалифицированное имя:
Подсистема[::Пакет]::ИмяТипа
.Например:
Основное::КурсыВалют.Запись
-
Краткое, неквалифицированное, имя:
ИмяТипа
. Например:КурсыВалют.Запись
.
Типы данных, поставляемые вместе с языком, принадлежат стандартному пространству имен Стд
(Std
).
Разрешение имен
Во время компиляции модуля все неквалифицированные имена разрешаются в квалифицированные. С каждым модулем связан контекст пространства имен, который определяет, какие типы, свойства и методы доступны с указанием или без указания пространства имен.
В контексте доступна следующая информация:
- Доступные пространства имен — идентификаторы из этих пространств можно использовать только с указанием пространства.
- Импортированные п ространства имен — идентификаторы из этих пространств можно использовать без указания пространства.
Если какое-либо имя доступно в нескольких пространствах (в том числе в стандартном, собственном или импортируемом) без указания пространства имен, то при разрешении имени используются приоритеты пространств имен. Пространства имен перечислены в порядке убывания приоритета:
-
пространства имен пакетов текущей подсистемы;
примечаниеЕсли несколько пакетов содержат тип с одинаковым именем, то выдается ошибка неоднозначности.
-
пространства имен текущего проекта;
-
пространства имен остальных проектов;
-
стандартное прос транство имен (
Стд
).