Определите, является ли класс, который будет создан, потомком другого - PullRequest
2 голосов
/ 28 января 2011

В этом примере я буду использовать 2 класса, Entity и CSpawner. CSpawner - это дети Entity.

Я хочу выполнить следующее условие:

if((new CSpawner()) is Entity)

Он работает так, как задумано.

Но я хочу провести этот тест, не создавая новый объект CSpawner, что-то вроде этого:

if(CSpawner is Entity)

Но это не работает, потому что CSpawner - это класс.

Как выполнить такое условие без создания нового объекта CSpawner?

Ответы [ 2 ]

2 голосов
/ 28 января 2011

Посмотрите на функцию descriptionType (), находящуюся в пакете flash.util. Он предоставляет данные, которые вы ищете (как для объектов-экземпляров, так и для объектов классов).

http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/flash/utils/package.html#describeType()

1 голос
/ 29 января 2011

http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/flash/utils/package.html#getQualifiedSuperclassName() - это то, что вы ищете. Возвращает имя суперкласса Вы можете проверить другие методы из пакета utils - это основное отражение ActionScript:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...