![]() |
|
||||||||||
|
|||||
|
Регистрация: Sep 2011
Адрес: http://infinityapps.ru
Сообщений: 36
|
Всем привет!
Подскажите, как можно получить массив или некий список, публичных свойств объекта? |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
describeType
|
|
|||||
|
properties
__________________
http://www.chessmax.ru |
|
|||||
|
Вот часть моей так пока и не опубликованной библиотечки rttiUtils которая всякие такие штуки умеет.
package com.aquahawk.rttiUtils { import flash.utils.describeType; import flash.utils.getDefinitionByName; /** * ... * @author Aquahawk */ public function getAllAccessableProperties(obj:Object):Vector.<Property> { var result:Vector.<Property> = new Vector.<Property>(); var objDesc:XML = describeType(obj); var properties:XMLList = objDesc.accessor.(@access == "readwrite") + objDesc.variable; for each (var propertyNode:XML in properties) { var property:Property = new Property(); property.name = (propertyNode.@name).toString(); property.classObj = getDefinitionByName(propertyNode.@type.toString()) as Class; result.push(property); } return result; } }
__________________
:) Последний раз редактировалось Aquahawk; 31.10.2011 в 18:40. |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Aquahawk, as3commons сто лет уже как существует.
|
|
|||||
|
Дело в том что иногда, для души, я люблю делать свой велосипед. as3commons конечно хорошо, но когда сам такое сделаешь один раз, потом лучше понимаешь всю глубину абстракции. А то получается потом, при сериализации с использованием рефлексии и с доступом до приватных полей вот такие забавные штуки
__________________
:) |
![]() |
![]() |
Часовой пояс GMT +4, время: 21:32. |
|
|
« Предыдущая тема | Следующая тема » |
|
|