во время компиляции
На самом деле можно иметь проверку времени компиляции.Это зависит только от того, какой большой прыжок ты готов совершить.Чтобы это работало, вы должны будете написать свой код в Haxe вместо ActionScript и иметь его для платформы Flash при компиляции.В блоге Devboy хорошо читаются типы функций Haxe .
во время выполнения
Если вы не хотите заходить так далеко, воткак это сделать в AS: вам нужно использовать функцию descriptionType () .Предположим, у вас есть такой тестовый класс:
public class TestClass {
public function test(s:String):void {}
}
Теперь мы можем получить информацию о его функциях, написав:
var info:XML = describeType(TestClass);
Где-то в этом объекте XML будет узел, которыйвыглядит так:
<method name="test" declaredBy="net.riastar.test::TestClass" returnType="void">
<parameter index="1" type="String" optional="false"/>
</method>
Вот оно!Вся информация, необходимая для проверки. Но есть один большой недостаток в этом подходе: метод describeType
не очень эффективен.Если вам придется много делать, это замедлит работу вашего приложения.Вы можете использовать стратегию кэширования, чтобы избежать этого, хотя.Или взгляните на проект as3-commons-refle , он позаботится о кешировании для вас.