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

Denis_ex 11.08.2012 09:10

Перебор свойств экземпляра класса в массиве
 
Как в AS3 можно перебирать свойства экземпляра класса в массиве (нужно автоматически скопировать значения свойств от одного класса другому, однотипному)?

caseyryan 11.08.2012 09:35

В as3 нет такой фишки (если я правильно понял, имеется в виду что-то типа enum). Это можно сделать только для динамических кслассов.
Но можно написать функцию clone() в которой создавать новый объект, присваивать ему все необходимые значения и возвращать его

Inet_PC 11.08.2012 12:49

Пробежаться по всем полям класса поможет describeType, но это довольно медленная операция. Лучше все таки написать свою функцию clone. Если Вы собираетесь копировать не DisplayObject-ы то возможно подойдет вот это:
Код AS3:

function cloneObjectBA(value:Object):Object
{
        var ba:ByteArray = new ByteArray();
        ba.writeObject(value); ba.position = 0;
        return ba.readObject() as Object;
}

И скорее всего это тоже будет медленнее работать, чем самописная функция.


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

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