quinta-feira, 22 de outubro de 2009

Reflexão em Flex

Como diz um amigo meu:
Opa,

ainda estou apanhando com o flex, mas sei que no começo é assim mesmo
igual a irmão mais novo, despois que cresce ja viu ne...

para fazer reflexao em flex é mais ou menos assim:

flash.utils.getQualifiedClassName(obj:Object); // para pegar o qualify name de um obejto

e getDefinitionByName(name:String); // para pegar um objeto a partir de uma string;

exemplos:

var methodRef:Function = Function(flash.utils.getDefinitionByName(method));
methodRef.call(this);

var classReference:myClass;
var klas:Class=getDefinitionByName("myClass") as Class;



então a dica é a seginte: para elaborar um menu eu passava como parametro o objeto da janela que queria abrir para uma funcao showForm, no meu caso. So que mesmo passano o caminho correto recebia o erro:

Variable List is not defined. at global/flash.utils::getDefinitionByName()....

então, o esquema é criar uma variavel do tipo que vc vai instanciar por reflexao para o copilador nao se perder. ( eu sei que no Java isso nao precisa :p)

ex:


var formUsuario:usuario.List;
var formPassaro:passaro.List;
var formAlterarSenha:usuario.AlterarSenha;
new Util().showForm(this, getDefinitionByName(item) as Class);

Nenhum comentário:

Postar um comentário