我試圖設計可控制/使用多個數據庫的應用程序繼承,我認爲這將是封裝在接口一切是個好主意,但它似乎我已經無意中發現的第一個方法 我的接口是:實例化問題通過抽象類
interface IConnect<T>
{
T dbConnection(String dbConnectionString);
}
我的抽象類是:
abstract class SqliteConnect :Iconnect<SQLiteConnection>
{
public abstract SQLiteConnection dbConnection(String dbConnectionString);
}
的具體實施是:
class SQLiteSpecialConnect:SqliteConnect
{
public override SQLiteConnection dbConnection(String fileToConnect)
{
return new SQLiteConnection("Data Source=" + fileToConnect);
}
}
但是,當我嘗試實例化它,我得到
Iconnect<SQLiteConnection> sqliteConObj= new SQLiteSpecialConnect().dbConnection("SomeConnectionString");
cannot implicitly convert type System.Data.SQLite.SQLiteConnection to Iconnect<System.Data.SQLite.SQLiteConnection>
所以我可以用這個實現,或者是沒有去?
什麼是「新SQLiteSpecialConnect:SqliteConnect()」?它不應該只是「新的SQLiteSpecialConnect()」嗎?乍一看,其他一切看起來都很好。 – michauzo
壞複製粘貼... – John
是啊,當然'SQLiteConnection = iConnect的'... - 使用'iConnect的 sqliteConObj =新SQLiteSpecialConnect()'然後'sqliteConObj.dbConnection( 「SomeConnectionString」 )' –
Corak