| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 18/06/2007 16:32:34
|
pm
JavaEvangelist
Membro desde: 28/01/2005 12:42:15
Mensagens: 438
Offline
|
Alguem sabe se existe alguma forma de identificar o nome do metodo que o objecto X teve seu metodo acionado ?
Por exemplo:
Tem como eu identificar que o metodo que chamou x.metodoX() foi metodoY() ?
ki confusão !!!
vlw
|
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 18/06/2007 16:44:57
|
thingol
Moderador
Membro desde: 29/07/2004 16:10:13
Mensagens: 17543
Offline
|
Tem, mas não com Reflection, e sim com um truque (crie um Throwable, e chame o método getStackTrace.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 18/06/2007 16:56:20
|
Anthony Cezario
Thread.start()
Membro desde: 05/01/2005 13:08:57
Mensagens: 40
Localização: Limeira, SP
Offline
|
Mais facil você padronizar as chamadas desse tipo enviando um parametro tipo Method
ex:
ou é claro, enviando ao invés e uma classe Method, apenas uma string contendo a informação de classe e método
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 19/06/2007 08:53:34
|
pm
JavaEvangelist
Membro desde: 28/01/2005 12:42:15
Mensagens: 438
Offline
|
vlw pessoal !
eu estou procurando alguma coisa que fique transparente pra quem chamar a classe que precisa desta informação.
implementei isso, conforme thingol tinha sugerido
>
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 19/06/2007 09:44:20
|
fabiofalci
GUJ Master
![[Avatar]](/images/avatar/c359889a833e7612e0cff1dc69d272bc.png)
Membro desde: 11/04/2006 09:23:14
Mensagens: 1057
Localização: Porto Alegre - RS
Offline
|
Olá!
Pode usar AOP
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 19/06/2007 10:09:14
|
thingol
Moderador
Membro desde: 29/07/2004 16:10:13
Mensagens: 17543
Offline
|
Esse truque (usar getStackTrace) não funciona direito com .NET.
Em .NET o otimizador pode efetuar "inlining" dos métodos, tal como em Java, mas o equivalente do getStackTrace em .NET não tem a informação "não-otimizada" que é necessária para dizer que rotina chamou a sua rotina. Então às vezes você não consegue saber quem chamou a sua rotina, mas quem chamou a rotina que chamou a sua rotina (se apenas um nível de "inlining" tiver sido efetuado pelo runtime do .NET.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 19/06/2007 13:57:05
|
Mauricio Linhares
Moderador
![[Avatar]](/images/avatar/97af07a14cacba681feacf3012730892.jpg)
Membro desde: 09/01/2005 23:28:22
Mensagens: 3717
Localização: João Pessoa, Paraíba - Brasil
Offline
|
pm wrote:vlw pessoal !
eu estou procurando alguma coisa que fique transparente pra quem chamar a classe que precisa desta informação.
No Java 1.5 já é possível fazer isso simplesmente pedindo essa informação a Thread corrente -> http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Thread.html#getStackTrace()
|
Meu blog sobre desenvolvimento | My Last.fm | @mauriciojr
Screencast de Introdução a linguagem Objective-C |
|
|
 |
|
|