Olá Pessoal!
Estou com um problema sério.
Preciso passar um objeto do tipo 'class' como um parâmetro genérico <T>
Por exemplo, estou lendo as propriedades de uma tabela e depois criando uma classe em tempo de execução onde o nome da classe é o nome da tabela e as propriedade da classe, óbvio, são as colunas da tabela com os respectivos nomes e tipos convertidos para
o .Net.
Estou criando a classe em tempo de execução conforme o exemplo
stackoverflow.com/questions/3862226/dynamically-create-a-class-in-c-sharp
o resultado ficou assim:
var clsDinamica = MyTypeBuilder.CreateNewObject("Nome_da_Tabela", ListaDeColunas);
E agora vem o grande problema:
Como eu passo o tipo 'class' e não o tipo 'object' para um método genérico?
No meu caso apenas o tipo 'object' é aceito.
var clsPopulada = LerDados<object>("tabela");
public HashSet<T> LerDados<T>(string nomeTabela) where T : class, new()
{
...
}
Mas, o código acima não atende minha necessidade porque necessito passar um objeto <class> com o tipo da classe criada dinamicamente
var clsPopulada = LerDados<clsDinamica>("tabela");
public HashSet<T> LerDados<T>(string nomeTabela) where T : class, new()
{
...
}
Já tentei vários exemplos, com Reflection inclusive, mas, nada funcionou,
alguém sabe como resolver?
Obrigado!