2015-10-02 73 views
1

我通过使用从反射生成的类型作为泛型类型参数?

var resultingType = Type.GetType(stringOfType); 

得到从字符串设置类型和这部作品给予正确的类型。

然后我使用流利,NHibernate的数据库映射,试图拉班(在数据库中的表),所以

repo.GetQueryable<resultingType>.Where(e => e.id =1) 

我不知道,如果是caliburn.micro重要的,但它不会让我呼吁结果类型。我究竟做错了什么?

+0

Caliburn.Micro中的数据库?由于Caliburn.Micro是一个MVVM框架而不是数据库。 – mvermef

+0

Microsoft SQL Server。但只要我连接到数据库那么重要吗? – azulBonnet

+0

刚刚实现!是的,我混淆了Nhibernate和Caliburn.micro。我修好了。 – azulBonnet

回答

0

你应该使用反射它,例如:

var method = repo.GetType().GetProperty("GetQueryable").GetMethod.MakeGenericMethod(resultingType); 

然后你可以使用CreateDelegateInvoke - 这取决于你的需求。

+0

谢谢,我不太了解如何使用代表。因为我只是想从数据库中的表对应的回购列表中返回一个列表,我只想要一个委托而不是调用一个实例(这是调用的吗?)?我将如何创建并使用委托来获取列表? – azulBonnet