Acredito que a maneira mais correta ainda seja utilizando o operador "is".
Leonardo e Rogério, de ambas as maneiras que vocês propuseram, não funcionaria para todos os casos. MinhaClasse1 herda MinhaClasse2 que herda MinhaClasse3 que herda Group que herda GroupBase que herda UIComponent. Tanto getQualifiedSuperclassName quanto * Class(getDefinitionByName(getQualifiedClassName(obj)));* retornaria false se eu quisesse saber se a classe é um UIComponent ou MinhaClasse3 por exemplo. Abraço, Fredy. 2012/8/9 Rogerio Gonzalez <[email protected]> > Falae Pessoal! > > Se por qualquer motivo você não souber a classe no momento do teste, outra > opção, é vc pegar pelo class name: > > *var className:String = getQualifiedClassName(obj);* > > ai vc pode até retornar a propria classe assim: > > *return Class(getDefinitionByName(getQualifiedClassName(obj)));* > > > Abraços > > Rogério Gonzalez > > > > > 2012/8/9 Fredy Gadotti <[email protected]> > >> Você pode testar com o operador "is". >> >> if(instancia is TitleWindow){ // Isso retorna true se na herança de >> classes, uma delas for TitleWindow :) >> >> Abraço, >> >> Fredy, >> >> >> 2012/8/9 Leonardo Oliveira <[email protected]> >> >>> Boa tarde a todos. Estou com uma questão interessante e gostaria de >>> uma ajuda. Simplificando ao máximo, tenho duas classes filhas que >>> extendem de componentes. Instanciando dinamicamente as filhas, como >>> saber de qual pai é? Exemplo: >>> >>> public class ClasseUm extends MDIWindow >>> { >>> (...) >>> } >>> >>> public class ClasseDois extends TitleWindow >>> { >>> (...) >>> } >>> >>> este é o handler do botão que abre a interface: >>> (v_interface recebe como string "ClasseUm" ou "ClasseDois") >>> >>> private function handlerClickLink(v_interface:String):Function{ >>> return function(event:MouseEvent):void >>> { >>> var ClassReference:Class = >>> getDefinitionByName(v_interface) as >>> Class; >>> var instancia:Object = new ClassReference(); >>> >>> if(instancia é filha de TitleWindow){//aquí é onde >>> preciso testar de >>> que pai é o filho >>> PopUpManager.addPopUp(instancia, parent, true); >>> PopUpManager.centerPopUp(instancia); >>> } >>> else{ >>> MDIWindow(instancia).resizable = true; >>> >>> cnvAreaTrabalho.windowManager.add(MDIWindow(instancia)); >>> } >>> } >>> } >>> >>> Aguardo a ajuda de vocês. Obrigado. >>> >>> -- >>> Você recebeu esta mensagem porque está inscrito na lista "flexdev" >>> Para enviar uma mensagem, envie um e-mail para [email protected] >>> Para sair da lista, envie um email em branco para >>> [email protected] >>> Mais opções estão disponíveis em http://groups.google.com/group/flexdev >>> >> >> -- >> Você recebeu esta mensagem porque está inscrito na lista "flexdev" >> Para enviar uma mensagem, envie um e-mail para [email protected] >> Para sair da lista, envie um email em branco para >> [email protected] >> Mais opções estão disponíveis em http://groups.google.com/group/flexdev >> > > -- > Você recebeu esta mensagem porque está inscrito na lista "flexdev" > Para enviar uma mensagem, envie um e-mail para [email protected] > Para sair da lista, envie um email em branco para > [email protected] > Mais opções estão disponíveis em http://groups.google.com/group/flexdev > -- Você recebeu esta mensagem porque está inscrito na lista "flexdev" Para enviar uma mensagem, envie um e-mail para [email protected] Para sair da lista, envie um email em branco para [email protected] Mais opções estão disponíveis em http://groups.google.com/group/flexdev
