與其爲OleDbConnection,MySqlConnection,OdbcConnection和Db2Connection維護幾個不同的數據庫訪問層,我試圖找出一種使用泛型的方法。但是,當我嘗試編譯代碼時出現錯誤,當我嘗試訪問類的方法或屬性時出現錯誤。C#中的泛型與OleDbConnection
public class DatabaseConnector<CONNECTION> {
private CONNECTION connection = default(CONNECTION);
public bool IsConnected {
get {
return (
this.connection != null &&
// error on connection.State on the following two lines
this.connection.State != System.Data.ConnectionState.Closed &&
this.connection.State != System.Data.ConnectionState.Broken
);
}
}
}
有沒有辦法解決這個問題?或者也許是另一個可以處理多個版本的類?
他們已經有了這個:只對所有那些使用基類,DbConnection。您只需在創建初始連接對象時引用特定的實現,之後只需使用DbXXX類型,並且您的代碼可以在所有這些類型中運行。 –