2015-10-02 120 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