QUANDO O TIPO GENÉRICO NÃO É ACEITO

DS2T 30/04/2016 14:22:22
#461713
Olá!

Estou tentando implementar um novo padrão no meu sistema, com o entity framework, só que agarrei num problema de tipo genérico.
Eu tenho minha classe assinada dessa forma:

Public Class DAO(Of Tipo)


Dentro dela, eu possuo uma propriedade desse tipo:

Public Property Registros As DbSet(Of Tipo)


Sendo DbSet, do namespace System.Data.Entity.


Acontece que essa linha gera um erro pra mim:
Error BC32106 Type argument [ô]Tipo[ô] does not satisfy the [ô]Class[ô] constraint for type parameter [ô]TEntity[ô].

Fica meio claro que não posso passar um tipo genérico, mas sim um objeto mesmo. Tanto é que quando faço:
Public Property Registros As DbSet(Of Usuario)

Isso acaba funcionando

O lance é que eu queria deixar genérico, para ter um melhor reaproveitamento de código.
Alguma idéia de como fazer isso? Já rachei a cabeça aqui e nada...

Muito obrigado a todos!
KERPLUNK 30/04/2016 14:34:13
#461715
Resposta escolhida
Talvez com Reflection ou typeof(T)
DS2T 30/04/2016 14:43:39
#461716
Valeu pela resposta Kerplunk.

Comecei lendo a documentação toda hoje, um pouco antes de postar a pergunta.
Encontrei a resposta e estou me sentindo extremamente idiota por não não saber disso até o momento hahahaha

Basta assinar a classe dessa forma:

Public Class DAO(Of Tipo As Class)


Deixarei aí para qualquer comentário, hoje ainda estarei fechando o tópico.

Abraços!
Tópico encerrado , respostas não são mais permitidas