1
這是一個研究項目。我有三個數據庫類A,B,C。有一個工廠類通過它的構造函數接收哪個類創建的對象。三個類[A,B,C]中的每一個都有一個帶有參數的構造函數來提供數據庫連接對象。這是我在工廠類的createObject方法中使用的代碼:GetConstructor.invoke錯誤
Type classtyp = Type.GetType(className);
Type[] constrParam = new Type[1];
constrParam[0] = typeof(DBConnection);
ConstructorInfo constr = database.GetConstructor(constrParam);
return constr.Invoke(constrParam) as Database;
上面的最後一行給出了此錯誤。
「對象類型的 'System.RuntimeType' 不能轉換爲類型 'System.Data.Common.DbConnection'。」
怎麼了 'System.RuntimeType' 到這裏來?我試圖創建一個類A的對象,它具有一個構造函數,它接受一個DBconnection類型的變量。
當前我傳遞給工廠類指令來創建類A的實例。這類甲的代碼:
public class SqlServerDB: Database
{
string str = "";
public SqlServerDB(DbConnection DBConn)
: base(DBConn)
{
str = "SQLServer";
}
}
我在做什麼錯了?
謝謝。