Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Проверка класса на принадлежность к типу? Оо (http://www.flasher.ru/forum/showthread.php?t=211569)

caseyryan 23.09.2015 08:31

Проверка класса на принадлежность к типу? Оо
 
Встала передо мной такая головоломка:

Есть некий класс, который хранится именно как тип Class, нужно проверить наследует ли он определенный тип, но сделать это без создания экземпляра.
Для наглядности:
Код AS3:

package {
        public class SomeClass implements ISomeInterface {
 
                public function SomeClass() {
 
                }
        }
}
 
package {
        public class SomeOtherClass extends SomeClass {
 
                public function SomeOtherClass() {
 
                }
        }
}
 
 
 
package {
        public class Test extends SomeClass {
 
                private var _class:Class = null;
 
                public function Test() {
                        _class = SomeOtherClass;
                        testIt();
                }
 
                private function testIt():void {
                        trace((new _class()) is ISomeInterface); // true, с экземпляром все ок
                }
        }
}

Естественно, создав экземпляр проверить можно легко. А без экземпляра можно ли?
getQualifiedClassName() не катит, так как он вернет имя класса, но никак не скажет наследует ли он другой класс, рекурсивно вызывать getQualifiedSuperclassName так же не вариант, потому что нужно проверить интерфейс)

п.с. Задача скорее из любопытства. Мне, в принципе не в лом создать экземпляр и хранить ссылку на него в переменной. Может кто-то сталкивался с подобной задачей, или тоже хочет поломать голову)

Wolsh 23.09.2015 09:22

describeType().factory.extendsClass.@type

caseyryan 23.09.2015 09:31

Спасибо)
Про descrybeType что-то даже в голову не пришло. Там как раз и implementsInterface есть.

udaaff 23.09.2015 09:53

http://jacksondunstan.com/articles/2609

caseyryan 23.09.2015 10:17

Цитата:

Сообщение от udaaff (Сообщение 1187154)

Что-то я не понял. Там есть ссылка на этот класс https://github.com/tschneidereit/Swi...ibeTypeJSON.as
В котором используется метод descrybeTypeJSON()
Откуда берется сам метод? Оо

Добавлено через 1 минуту
Аа, понял. Неофициальный метод, скрытый от юзеров)) Круто


Часовой пояс GMT +4, время: 22:47.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.