我有使用泛型方法的API如下通具體的對象類型作爲參數泛型方法
public static class DataProvider
{
public static Boolean DeleteDataObject<T>(Guid uid, IDbConnection dbConnection)
{
// Do something here
}
public static IDbConnection GetConnection()
{
// Get connection
}
}
我的應用程序包含在運行時使用的CodeDOM生成的類,並且爲了保持跟蹤我創建了一個叫做接口IDataObject
。我想具體類型的每個對象傳遞給泛型方法上面如下:
public static Boolean PurgeDataObject(this IDataObject dataObject, Guid uid)
{
return DataProvider.DeleteDataObject<T>(uid, DataProvider.GetConnection());
}
dataObject
包含從IDataObject
繼承一個類的實例。我有興趣獲得該類型並將其傳遞爲T
。我試圖找出在這裏以某種方式使用dynamic
是否可能。 typeof()
和GetType()
不起作用在Here
有一些技巧使用動態作爲反射和泛型之間的橋樑,但他們需要一個實例。如果您沒有實例,MakeGenericMethod是您的主要工具。或者是一個非泛型API ... – 2013-05-10 22:33:30
@MarcGravell:'dataObject'是一個包含我試圖提取和傳遞的類型信息的實例。看看Jon的回答 – 2013-05-10 22:58:37