Форум 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=175328)

Stitch512 14.02.2012 23:16

Сравнение объектов по классам
 
Есть экземпляр произвольного объекта
Код AS3:

var instance:*;

И переменная содержащая класс
Код AS3:

var classType:Class;

Как правильнее всего провериться является ли объект экземпляром этого класса, через is/as не подходит, нужно именно данного класса, а не его наследников.

HardCoder 14.02.2012 23:23

instance.constructor?

droopy 15.02.2012 00:59

if (instance is classType) - не подходит? Правда, да classType может быть и базовым классом, но разве это плохо?

Добавлено через 8 часов 6 минут
Если уж наследники класса не подходят, то можно получить имя класса от инстанса так:
Код AS3:

            var classInfo:XML = flash.utils.describeType(instance);
 
            // List the class name.
            var className:String = classInfo.@name.toString();


Stitch512 15.02.2012 18:39

Всем спасибо, уже разобрался.
Код AS3:

getDefinitionByName(getQualifiedClassName(instance))

подошло для задачи

etc 18.02.2012 23:54

instance.constructor === classType
Проще и быстрее.


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

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