Conversão De Dados
#1
Posted 06/07/2009, 15:45
Gostaria de saber porque não consigo converter uma classe base na classe filha ou o contrário.
Tipo:
ClasseBasse variavel1 = (ClasseFilha)varivael2
O projeto é compilado sem erro, mas dá erro de casting.
Não faço idéia do que seja.
Quem puder me dar uma ajuda, eu agradeço.
Rafael
#3
Posted 07/07/2009, 17:26
Olá, já tentou utilizar o "Parse"?
A questão é esta.
Não dá pra usar o Convert.
Tenho duas classes.
Uma classe base de Pessoa.
A super-classe é PessoaFisica.
Quando eu compilo meu projeto, ñ dá erro,
mas quando ele tenta converter
PessoaFisica em Pessoa dá erro de cast.
Sem sentido, porque um PessoaFisica é uma Pessoa.
#5
Posted 08/07/2009, 18:50
Eu tento converter uma PessoaFisica em Pessoa e ele me retorna:
"Erro de Casting"
PessoaFisica 'variavelpessoafisica' = (Pessoa)'nome do método que retorna Pessoa'
#6
Posted 08/07/2009, 19:55
Uma coisa que eu não entendo, se tu já está herdando essa classe porque converter pessoaFisica em pessoa?
#7
Posted 13/07/2009, 12:28
Fiquei meio confuso, se tu colocar o código ficará melhor de enxergar onde está o problema.
Uma coisa que eu não entendo, se tu já está herdando essa classe porque converter pessoaFisica em pessoa?
O método criado na classe base precisa ser aproveitado na classe filha.
Eu tentei usar polimorfismo, só q acho que já sei onde estou errando: O parâmetro do método na classe base é
Pessoa, e na classe filha, eu to tentando mandar uma PessoaFisica
Segue o código:
public class Pessoa{ public virtual Pessoa Consultar(Pessoa pessoaComum) { blablabla.... }}public class PessoaFisica : Pessoa{ public override Pessoa Consultar(Pessoa pessoaFisica) { PessoaFisica pessoaFisica = new PessoaFisica(); //O erro ocorre nesta linha. pessoaFisica = (PessoaFisica)base.Consultar(pessoaFisica); return pessoaFisica; }}
Edição feita por: Rafaselic, 14/07/2009, 13:14.
#8
Posted 29/07/2009, 19:06
Fiquei meio confuso, se tu colocar o código ficará melhor de enxergar onde está o problema.
Uma coisa que eu não entendo, se tu já está herdando essa classe porque converter pessoaFisica em pessoa?
O método criado na classe base precisa ser aproveitado na classe filha.
Eu tentei usar polimorfismo, só q acho que já sei onde estou errando: O parâmetro do método na classe base é
Pessoa, e na classe filha, eu to tentando mandar uma PessoaFisica
Segue o código:public class Pessoa{ public virtual Pessoa Consultar(Pessoa pessoaComum) { blablabla.... }}public class PessoaFisica : Pessoa{ public override Pessoa Consultar(Pessoa pessoaFisica) { PessoaFisica pessoaFisica = new PessoaFisica(); //O erro ocorre nesta linha. pessoaFisica = (PessoaFisica)base.Consultar(pessoaFisica); return pessoaFisica; }}
É isso mesmo que estou errando?
0 user(s) are reading this topic
0 membro(s), 0 visitante(s) e 0 membros anônimo(s)