Получить ссылку на класс можно одним из способов описанных ниже.
Теперь по производительности...
Вариант №2 примерно в 4 раза быстрее (проверено на 100'000 итерациях), да и выглядит как то краше и без лишних вызовов.
Эту возможность я использовал в проекте в месте, где в зависимости от поданного экземпляра объекта нужно произвести те или иные действия, пример:
function getClassRef(instance:Object):Class { return getDefinitionByName(getQualifiedClassName(instance)) as Class; }
function getClassRef(instance:Object):Class { return Object(instance).constructor as Class; }
Теперь по производительности...
Вариант №2 примерно в 4 раза быстрее (проверено на 100'000 итерациях), да и выглядит как то краше и без лишних вызовов.
Эту возможность я использовал в проекте в месте, где в зависимости от поданного экземпляра объекта нужно произвести те или иные действия, пример:
function polymorphAction(instance:Object):void { var clazz:Class = Object(instance).constructor as Class; switch (clazz) { case Friend: trace("друг"); break; case Enemy: trace("враг"); break; default: trace("а так"); } }
Комментариев нет:
Отправить комментарий