Capturar o tipo de variavel representado por uma string
4 respostas
pedrohms
olá pessoal, tudo bem. Estou com um pequeno problema, estou criando uma aplicacao que precisa acessar devido metodo de uma classe object com o invoke do reflect mas como parametro preciso do tipo real do parametro, e estou com dificuldades de fazer essa distincao, por que o parametro é um pedaco de uma string. Vai abaixo um trexo da funcao:
Isso que vc fez não funciona? Qual o problema?
Vc precisa do tipo real como parametro ou como retorno? Não entendi o problema…
drsmachado
Se precisa dos tipos de parâmetros do método, obtenha-os com a invocação do método getParameterTypes().
pedrohms
Obrigado pela resposta pessoal, mas o problema e o seguinte: Se os parametros do metodo real da classe for de tipo inteiro e string se eu enviar string e string da erro, o invoke nao aceita um tipo que nao seja o correto, ele nao da cast nos parametros. No meu caso e mais complicado porque os parametros que recebo nessa variavel vem de uma resposta em json ou xml que sào valores em string.
drsmachado
Então, camarada.
Invocando o método getParameterType() você identifica quais os tipos de parâmetro, assim, pode forçar o cast (um switch/case ou uma porrada de ifs para isto) e então, popular o array de Object que irá ser passado como parâmetro.