Структура программы на языке Fore.NET упорядочивается путём применения пространств имён.
Каждый модуль с текстом программы состоит из следующих блоков (в указанном порядке):
Ноль или более директив Imports.
Ноль или более глобальных атрибутов.
Ноль или более определений пространства имён и членов пространств имён.
Все блоки всех модулей, из которых состоит сборка, попадают в единое общее пространство определений называемое глобальным пространством имён.
Директивы Imports упрощают использование пространств имён и типов, определенных в других пространствах имён и влияют на процесс разрешения имён при компиляции. Директива Imports импортирует типы, содержащиеся в указанном пространстве имён, что позволяет использовать неквалифицированные идентификаторы при обращении к типам. Импорт производится только из указанного пространства имён не производя импорт типов из вложенных в него пространств имён. В случае наличия в импортированном пространстве имён члена имя которого совпадает с именем, определенным внутри текущего кода или тела пространства имён, приоритет имеет имя определенное локально, а не импортированное.
Определение пространства имён состоит из ключевого слова Namespace за которым следует наименование пространства имён и его тело, завершающиеся последовательностью ключевых слов End Namespace.
Определение пространства имён может быть произведено как на уровне глобального пространства имён, так и внутри другого пространства имён. В обоих случаях наименование пространства имён должно быть уникальным внутри объемлющего пространства имён. Внутри пространства имён могут быть определены любые типы, доступные в Fore.NET.
Пространства имён имеют открытый уровень доступа и их определения не могут содержать модификаторов доступа.
Опциональные директивы Imports в теле пространства имён импортируют имена других пространств имён и типов, позволяя ссылаться на них непосредственно без использования квалифицированных идентификаторов.
Пространства имён являются расширяемыми, два определения пространств имён с одинаковыми полностью квалифицированными именем пополняют одно пространство определений.
Imports System;
Imports Prognoz.Platform.Interop.Metabase;
Imports Prognoz.Platform.Interop.Ui;
[Assembly(AssemblyTitle("Тестовое приложение"))]
[Assembly(AssemblyCompanyAttribute("Any Company"))]
[Assembly(AssemblyVersion("1.0.0.0"))]
Namespace UserApplication
Var
s: string;
i: integer;
Const
e = 0.0001;
//Объявление типов и членов типов
//организующих код пользовательского приложения
End Namespace;
См. также: