+7 votos
72 visitas

O método Get de uma entidade especializada específica está retornando o tipo da entidade do núcleo.

Entidade de núcleo: public class Pessoa : BusinessEntity<Pessoa>

Entidade específica: public class PessoaXPTO : Pessoa

PessoaXPTO.Get() está retornando Pessoa.

Não deveria ser PessoaXPTO?

 

por (865 pontos) | 72 visitas

1 Resposta

+5 votos
Melhor resposta

Isto é uma limitação do C#/BEF.

Como o tipo de retorno dos métodos GetMany e Get é definido na classe núcleo (Pessoa : BusinessEntity<Pessoa>), esses métodos vão retornar sempre o tipo do núcleo.

Mas é só a assinatura, as instâncias serão do tipo específico, no caso PessoaXPTO.

A solução correta é utilizar o operador as:

PessoaXPTO pessoaEspecifica = PessoaXPTO.Get(1) as PessoaXPTO;

 

por (865 pontos)
selecionada por
Melhores Apr 2026
  1. CeceliaWysel

    5 Pontos

  2. VernonSchaw

    5 Pontos

  3. MargieOsterh

    5 Pontos

200 pontos
Melhores 2026 Apr 06 - 12
  1. danilo.pereira

    96 Pontos

  2. danilo.pereira

    96 Pontos

  3. danilo.pereira

    96 Pontos

  4. willian.metalsystem

    69 Pontos

  5. henrique.muller

    62 Pontos

  6. luciano.fronza

    61 Pontos

  7. luciano.fronza

    61 Pontos

  8. luciano.fronza

    61 Pontos

  9. diuari.molinari

    52 Pontos

  10. diuari.molinari

    51 Pontos

518 perguntas
567 respostas
389 comentários
772 usuários