Доступ к собственным функциям и именам классов
Кто-нибудь знает, как получить доступ к именам всех классов и их функций и переменных, доступных в сценарии действий (String, Array, Math...).
Я строю какой-то редактор кода, и я хочу реализовать в нем помощь кода. Я использую Flash Builder. В конце концов, когда ты говоришь:
var a:String = String.valueOf(12345);
тогда Flash Builder должен знать, что означают "String" и "valueOf", так есть ли способ получить доступ к этой информации?
1 ответ
Adobe предоставляет полную документацию для своих пакетов в Справочнике по ActionScript 3.0 для платформы Adobe Flash.
Справочник по ActionScript® 3.0 для платформы Adobe® Flash® содержит элементы языка ActionScript, базовые библиотеки, а также пакеты и классы компонентов для инструментов, сред выполнения, служб и серверов во Flash Platform.
В противном случае вы могли бы describeType()
пакеты от playerglobal.swc.
Создает объект XML, который описывает объект ActionScript, названный в качестве параметра метода. Этот метод реализует концепцию программирования отражения для языка ActionScript.
Значение параметра может быть экземпляром или типом класса.
По экземпляру: describeType(new MovieClip());
Если параметр value является экземпляром типа, возвращаемый объект XML включает в себя все свойства экземпляра этого типа, но не содержит никаких статических свойств. Вы можете проверить это условие при разборе объекта XML, изучив значение
<type>
тегаisStatic
атрибут, который имеет значение false, когда параметр value является экземпляром типа.
По типу: describeType(MovieClip);
Чтобы получить статические свойства типа, передайте сам тип для параметра value. Возвращенный объект XML включает в себя не только статические свойства типа, но также и все его свойства экземпляра. Свойства экземпляра вложены в тег с именем
<factory>
отличать их от статических свойств. В этом случаеisStatic
атрибут<type>
тег верный.
Например, чтобы получить все переменные и методы доступа типа для вашей реализации Content Assist / Intellisense, вы можете:
/**
* Returns variables and accessors
*/
public function properties(value:*):XMLList
{
var xml:XML = describeType(value);
return (xml..variable + xml..accessor);
}