Руководство по actionscript. часть 2, стр. 157
Далее, в подразд. «Пример: реализация режимов работы программы» разд. «Практические примеры использования пространств имен», мы вернемся к концепции использования пространств имен в качестве режимов работы программы на примере японско-английского словаря, в котором происходит переключение между различными режимами поиска.
Просто запомните, что, хотя переменная может применяться для указания пространства имен уточненного идентификатора, переменные не могут быть использованы для указания пространства имен в определении переменной или метода. Третья строка следующего кода:
namespace fruit;
var currentltemType:Namespace = fruit;
currentltemType var orange:String = «Round citrus fruit»;
вызовет такую ошибку:
Namespace was not found or is not a compile-time constant.
По-русски это будет звучать так: Пространство имен не найдено, или оно не является константой на этапе компиляции.
Аналогичным образом переменные не могут быть использованы для указания пространства имен в директиве use namespace. Мы познакомимся с этой директивой далее, в разд. «Открытые пространства имен и директива use namespace».
Пространства имен в качестве аргументов и возвращаемых значений методов
Вдобавок к тому, что значения пространств имен могут присваиваться переменным и элементам массива, они могут передаваться в методы и возвращаться из них. Например, следующий код определяет метод doSomething ( ), который принимает значение пространства имен в качестве аргумента:
public function doSomething (n:Namespace):void { trace(n);
}
Этот код передает пространство имен fruit в метод doSomething ( ): doSomething(fruit):
Пространство имен может передаваться в метод для того, чтобы перенести одну часть контекста программы в другую. Например, приложение, реализующее корзину в интернет-магазине, может передавать пространство имен currentLocale в класс Checkout, который затем динамически выберет подходящую валюту и зависящее от времени приветствие, взяв за основу текущее местоположение пользователя.