Jump to content


Photo

Conversão De Dados


  • Faça o login para participar
7 replies to this topic

#1 Rafaselic

Rafaselic

    Novato no fórum

  • Usuários
  • 10 posts
  • Sexo:Não informado

Posted 06/07/2009, 15:45

Boa tarde

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

#2 #KautZmanN#

#KautZmanN#

    Turista

  • Usuários
  • 44 posts
  • Sexo:Masculino
  • Localidade:Porto Alegre/RS

Posted 06/07/2009, 16:37

Olá, já tentou utilizar o "Parse"?

#3 Rafaselic

Rafaselic

    Novato no fórum

  • Usuários
  • 10 posts
  • Sexo:Não informado

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.

#4 #KautZmanN#

#KautZmanN#

    Turista

  • Usuários
  • 44 posts
  • Sexo:Masculino
  • Localidade:Porto Alegre/RS

Posted 08/07/2009, 09:15

Porque tu não herda Pessoa em PessoaFísica?

#5 Rafaselic

Rafaselic

    Novato no fórum

  • Usuários
  • 10 posts
  • Sexo:Não informado

Posted 08/07/2009, 18:50

Exatamente isto q está dando erro.

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 #KautZmanN#

#KautZmanN#

    Turista

  • Usuários
  • 44 posts
  • Sexo:Masculino
  • Localidade:Porto Alegre/RS

Posted 08/07/2009, 19:55

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?

#7 Rafaselic

Rafaselic

    Novato no fórum

  • Usuários
  • 10 posts
  • Sexo:Não informado

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 Rafaselic

Rafaselic

    Novato no fórum

  • Usuários
  • 10 posts
  • Sexo:Não informado

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)

IPB Skin By Virteq