Usuário com melhor resposta
converter string em DataContext

Pergunta
-
Olá pessoal,
Tem como eu converter ou buscar uma classe apartir do nome....
Ex: eu tenho que instanciar um objeto do Tipo: Context.Pedido, mas so tenho o nome em uma string "Pedido".
nao tem nada parecido com ctr = FindControl(ControlName, ctr)
ou um for each....sei lá....ja quebrei muito a cabeça e nao consegui...
Será que tem como???
Att,
Respostas
-
Igor,
Você pode utilizar Reflection para instanciar uma entidade.
Por exemplo:
// assembly que contém as classes LINQ
// (se estiver em outro assembly modifique o código abaixo)
var assembly = Assembly.GetExecutingAssembly();
// busca pelo tipo com o nome Customer
var customerType = (from type in assembly.GetTypes()
where type.Name == "Customer"
select type).FirstOrDefault();
// instancia entidade
object customer = Activator.CreateInstance(customerType);
Um problema é que a variável customer será um object e você terá que utilizar Reflection novamente para utilizar as suas propriedades.
Somente uma observação: O LINQ foi criado justamente para que tivéssemos as entidades da base de dados como classes em nosso código. Não entendo a necessidade de utilizar o Reflection.
Att.
Ari C. Raimundo
MCAD, MCP
http://araimundo.blogspot.com- Marcado como Resposta Igor Vessali segunda-feira, 1 de março de 2010 11:46
Todas as Respostas
-
-
Igor,
Você pode utilizar Reflection para instanciar uma entidade.
Por exemplo:
// assembly que contém as classes LINQ
// (se estiver em outro assembly modifique o código abaixo)
var assembly = Assembly.GetExecutingAssembly();
// busca pelo tipo com o nome Customer
var customerType = (from type in assembly.GetTypes()
where type.Name == "Customer"
select type).FirstOrDefault();
// instancia entidade
object customer = Activator.CreateInstance(customerType);
Um problema é que a variável customer será um object e você terá que utilizar Reflection novamente para utilizar as suas propriedades.
Somente uma observação: O LINQ foi criado justamente para que tivéssemos as entidades da base de dados como classes em nosso código. Não entendo a necessidade de utilizar o Reflection.
Att.
Ari C. Raimundo
MCAD, MCP
http://araimundo.blogspot.com- Marcado como Resposta Igor Vessali segunda-feira, 1 de março de 2010 11:46