Antes de mais nada, gostaria de agradecer sua aten��o bem como a de Rafael
Chaves. Infelizmente meu problema � mais s�rio.
Tenho conhecimento das maneiras tradicionais de se fazer cast din�mico, ou
seja, posso utilizar uma interface, uma superclasse ou, at� mesmo, "simular"
um cast din�mico atrav�s de overload de m�todos.
Agora, suponha que tenho v�rias classes com um mesmo m�todo comum que
retorne uma super-classe.
ex: superClass xx.metodo(int j);
superClass yy.metodo(int j);
...
Este m�todo � chamado in�meras vezes me auxiliando na constru��o
de um array.
for (int i=0; i<800000; i++)
{
myArray[i] = xx.metodo(i);
}
ou
for (int i=0; i<800000; i++)
{
myArray[i] = yy.metodo(i);
}
Suponha tamb�m que n�o me interesse trabalhar com a superClasse, mas sim,
com as suas filhas. Sendo assim, teria que fazer mais 800000 itera��es
aplicando um cast. Com o objetivo de eliminar este cast, gostaria de
executar um cast na chamada din�mica deste m�todo chamado metodo.
Desculpe-me se n�o fui muito claro.
Eu j� possuo este m�todo implementado mas, infelizmente, o overhead ainda
exite.
Obrigado,
Bruno Moreno
>From: Eduardo Issao Ito <[EMAIL PROTECTED]>
>To: Bruno Moreno <[EMAIL PROTECTED]>
>CC: [EMAIL PROTECTED]
>Subject: Re: Como fazer um cast din�mico?
>Date: Thu, 27 May 1999 16:02:55 -0300
>
>
>Se voce sabe a classe a classe que esta sendo retornada basta fazer um
>cast normal.
>Caso contrario voce pode usar o operador instanceof para determinar a
>classe.
>
>Mas o jeito mais facil e elegante e voce declarar a variavel apenas como
>uma interface e chamar os metodos do objeto apenas pela interface.
>
>Bruno Moreno wrote:
> >
> > Senhores integrantes da lista,
> >
> > Gostaria de saber se algu�m alguma vez fez um cast din�mico. Estou
> > fazendo um m�todo gen�rico que em determinado momento, invoca outro
>m�todo
> > dinamicamente. Agora, desejava pegar o meu valor de retorno que � uma
> > interface e "casti�-la".
> > Lan�ando m�o da classe Class e Method eu consigo efetuar a primeira
>etapa
> > mas a �ltima, o cast din�mico, n�o fa�o a m�nima id�ia de como
>implementar.
> >
> > Obrigado pela aten��o,
> >
> > Bruno Moreno
> >
> > ______________________________________________________
> > Get Your Private, Free Email at http://www.hotmail.com
> > * Para nao receber mais e-mails da lista, acesse
><http://www.sun.com.br:8080/guest/RemoteAvailableLists>, coloque seu
>e-mail, escolha a lista <[EMAIL PROTECTED]> e de um <submit>.
>
>--
>Eduardo Issao Ito <[EMAIL PROTECTED]>
>Eurosoft Consultoria <http://www.euroconsult.com.br>
>Rua Marina Saddi Haidar, 176 - S�o Paulo - SP - Brasil
>CEP 04650-050
>TEL: +55 11 524-8022
>FAX: +55 11 524-0408
>* Para nao receber mais e-mails da lista, acesse
><http://www.sun.com.br:8080/guest/RemoteAvailableLists>, coloque seu
>e-mail, escolha a lista <[EMAIL PROTECTED]> e de um <submit>.
______________________________________________________
Get Your Private, Free Email at http://www.hotmail.com
* Para nao receber mais e-mails da lista, acesse
<http://www.sun.com.br:8080/guest/RemoteAvailableLists>, coloque seu e-mail, escolha a
lista <[EMAIL PROTECTED]> e de um <submit>.