+7 votos
55 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 (861 pontos) | 55 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 (861 pontos)
selecionada por

Perguntas relacionadas

439 perguntas
486 respostas
350 comentários
473 usuários