OleDbConnection、MySqlConnection、OdbcConnection、および Db2Connection 用にいくつかの異なるデータベース アクセス レイヤーを維持するのではなく、ジェネリックを使用する方法を見つけようとしていました。ただし、コードをコンパイルしようとするとエラーが発生し、クラスのメソッドまたはプロパティにアクセスしようとするとエラーが発生します。
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
);
}
}
}
これを回避する方法はありますか?それとも、多くのバージョンを処理できる別のクラスでしょうか?