我有這樣的通用功能:轉換的typeof(T)至T
public List<T> GetList<T>() {
var businesType = typeof(T);
var databaseType = AutoMapperConfiguration.TypeMapping[businesType];
var databaseEntityList = DataModelAccess.GetEntityList(databaseType);
var businessEntityList = Mapper.Map(databaseEntityList, databaseEntityList.GetType(), typeof(List<T>));
return (List<T>)businessEntityList;
}
但我想要的東西,而不是調用DataModelAccess這樣的:
DataModelAccess.GetEntityList(databaseType);
是發送數據庫類型爲通用型,像這樣:
DataModelAccess.GetEntityList<DatabaseType>();
爲了有這樣的方法返回像List<T>
。
謝謝! P.S. DataModelAccess.GetEntityList(數據庫類型)的定義是:
public static List<object> GetEntityList(Type databaseType)
{
//get data from database
//retunt it as List<object> <= and I dont like that
}
請告訴我們'DataModelAccess.GetEntityList()'的代碼/定義' –
爲什麼你需要這個?只是不喜歡用Type作爲參數的簽名?這不是一條線,實際上可能不值得。 – sll
我想要這個以便於其他程序員使用(這將是一個庫)。謝謝! –