对于了解 C# 的人来说,这一定是一个非常简单的问题,但我有点迷茫。
类DbConnection派生自IDbConnection; 类OleDbConnection和OdbcConnection. 我需要objConnection要么OleDbConnection要么OdbcConnection。
string connStr = CONNECTION_STRING.Replace("<FILENAME>", fullFileName);
IDbConnection objConnection = (myswitch) ? (IDbConnection)new OdbcConnection(connStr)
: (IDbConnection)new OleDbConnection(connStr);
objConnection.Open();
objConnection.GetSchema(...);
objConnection.Close();
类DbConnection无法实例化,但有一个GetSchema我想调用的方法(我也调用openand close)。IDbConnection 没有这些方法Cast toDbConnection不起作用。有没有办法在没有大量if重复代码的情况下实现这些调用?
编辑:我正在使用这些连接来读取 Excel 文件,显然我需要 64 位机器的 OdbcConnection (不确定,仍在调查)