对于了解 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
我想调用的方法(我也调用open
and close
)。IDbConnection 没有这些方法Cast toDbConnection
不起作用。有没有办法在没有大量if
重复代码的情况下实现这些调用?
编辑:我正在使用这些连接来读取 Excel 文件,显然我需要 64 位机器的 OdbcConnection (不确定,仍在调查)