@Freddy, a dica foi boa; mas infelizmente não dá certo, visto que o arguments.callee é referente à função atual e não mostra nada sobre qual função anterior.
http://stackoverflow.com/questions/4731935/actionscript-obtain-the-name-of-the-current-function Se pelo menos tivesse como fazer um override inserindo novos parâmetros. @Gustavo, eu queria manter tudo o mais desacoplado possível, sem malabarismos... só usando o que fosse nativo mesmo... mas estou analisando que a melhor saída é passar o nome nos parameters mesmo... Em 18 de abril de 2013 13:40, Fredy Gadotti <[email protected]>escreveu: > Se não me engano, os métodos tem uma propriedade especial que não aparece > no code complete que se chama "callee", que tem o nome da função que chamou > o método corrente. > > Dá uma pesquisada nisso, que é o caminho das pedras :D > hehe > > > 2013/4/18 Wemerson Couto Guimarães <[email protected]> > >> Não tem como... pra fazer um override de uma função/método a sua >> declaração deve ser idêntica à função da classe original, exceto pelo termo >> "override" é claro! >> >> >> >> >> >> >> Em 18 de abril de 2013 11:59, Gustavo Martinez <[email protected]> escreveu: >> >> Wemerson, aconselho passar o nome da função como parâmetro: >>> >>> override public function send(*functionName*:String, >>> parameters:Object=null):AsyncToken{ >>> >>> this.url += "/" + this.remoteService + *functionName*; // (getAll, >>> getById, save, etc...) >>> return super.send(parameters); >>> } >>> >>> *-- >>> Gustavo Martinez* >>> >>> >>> 2013/4/18 Wemerson Couto Guimarães <[email protected]> >>> >>>> O detalhe é que eu preciso justamente saber o nome do método que >>>> originou a chamada, pois ele vai ser usado posteriormente. >>>> >>>> veja um exemplo com um override.. onde preciso saber qual o método.. : >>>> >>>> Class ServiceBase extends HTTPService >>>> { >>>> private var remoteService:String; >>>> >>>> public function ServiceBase(serviceName:String){ >>>> this.remoteService = serviceName; >>>> } >>>> >>>> override public function send(parameters:Object=null):AsyncToken{ >>>> >>>> this.url += "/" + this.remoteService + METODO_REMOTO; // (getAll, >>>> getById, save, etc...) >>>> return super.send(parameters); >>>> } >>>> >>>> public function getAll():AsyncToken{ >>>> return this.send(); >>>> } >>>> >>>> public function getById(id:):AsyncToken{ >>>> var parameters:Object = new Object(); >>>> parameters.id = id; >>>> return this.send(parameters); >>>> } >>>> >>>> public function save(object:*):AsyncToken{ >>>> return this.send(object); >>>> } >>>> } >>>> >>>> Class UsuarioService extends ServiceBase >>>> { >>>> public function UsuarioService(){ >>>> this.super( 'usuario' ); >>>> } >>>> } >>>> >>>> >>>> -- >>>> Wemerson Guimarães >>>> Rio Verde - Go - Brasil >>>> >>>> -- >>>> -- >>>> 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ê está recebendo esta mensagem porque se inscreveu no grupo >>>> "flexdev" dos Grupos do Google. >>>> Para cancelar a inscrição neste grupo e parar de receber seus e-mails, >>>> envie um e-mail para [email protected]. >>>> Para obter mais opções, acesse https://groups.google.com/groups/opt_out >>>> . >>>> >>>> >>>> >>> >>> -- >>> -- >>> 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ê está recebendo esta mensagem porque se inscreveu no grupo "flexdev" >>> dos Grupos do Google. >>> Para cancelar a inscrição neste grupo e parar de receber seus e-mails, >>> envie um e-mail para [email protected]. >>> Para obter mais opções, acesse https://groups.google.com/groups/opt_out. >>> >>> >>> >> >> >> >> -- >> Wemerson Guimarães >> Rio Verde - Go - Brasil >> >> -- >> -- >> 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ê está recebendo esta mensagem porque se inscreveu no grupo "flexdev" >> dos Grupos do Google. >> Para cancelar a inscrição neste grupo e parar de receber seus e-mails, >> envie um e-mail para [email protected]. >> Para obter mais opções, acesse https://groups.google.com/groups/opt_out. >> >> >> > > -- > -- > 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ê está recebendo esta mensagem porque se inscreveu no grupo "flexdev" > dos Grupos do Google. > Para cancelar a inscrição neste grupo e parar de receber seus e-mails, > envie um e-mail para [email protected]. > Para obter mais opções, acesse https://groups.google.com/groups/opt_out. > > > -- Wemerson Guimarães Rio Verde - Go - Brasil -- -- 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ê está recebendo esta mensagem porque se inscreveu no grupo "flexdev" dos Grupos do Google. Para cancelar a inscrição neste grupo e parar de receber seus e-mails, envie um e-mail para [email protected]. Para obter mais opções, acesse https://groups.google.com/groups/opt_out.
