FLEX: Reflexão com ActionScript 3
Precisei fazer reflexão com actionscript3, que era basicamente, descobrir o tipo de um atributo da classe, e se ele for composto - tipo definido em minha aplicação - eu precisaria gerar uma nova instância.
Precisei disso, pois estava montando alguns componentes genéricos, e depois de estudar um bocado e atormentar o Mário Júnior, veio a luz.
Então, desenvolvi o seguinte método:
Actionscript:
-
/**
-
* Pega o retorno de uma propriedade de um objeto.
-
*
-
* @param obj - Objeto que têm a propriedade
-
* @param property - Propriedade que deseja pegar o retorno.
-
* @return Classe do objeto.
-
* @author Pedro Gonçalves
-
*/
-
public static function getType(obj:Object,property:String):Class {
-
var xmlDescription:XML = describeType(obj);
-
var val:XMLList = xmlDescription.variable.(@name==property);
-
var type:String = String(val.attribute("type")).replace("::",".");
-
var clazz:Class = Class(getDefinitionByName(type));
-
return clazz;
-
}



[…] O primeiro passo foi descrito num post anterior: http://pedrogoncalves.com.br/2008/07/07/flex-reflexao-com-actionscript-3/ […]