これは、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 to は機能しDbConnectionません。ifコードの大規模な繰り返しなしでこれらの呼び出しを実装する方法はありますか?
編集: 私はこれらの接続を使用して Excel ファイルを読み込んでいます。どうやら 64 ビット マシンには OdbcConnection が必要です (不明、まだ調査中)。