C# (.NET 2.0) で指定された TableAdaptor および SqlDataAdaptor の SQL Command オブジェクトを取得するにはどうすればよいですか?
-
01-07-2019 - |
質問
アプリケーション用の汎用エラー処理/ログクラスを作成しています。目標は、例外情報、クラスと関数 (およびパラメーター) に関する情報、および関連する場合は、 System.Data.SqlClient.SqlCommand
物体。
引き継ぎ対応できるようにしたい SqlCommands
, TableAdaptors
, 、 そして SqlDataAdaptors
.
私はリフレクションを使用するのが初めてで、これが可能であることは知っていますが、どうすればよいのかわかりません。お知らせ下さい。
解決
これがあなたの話していることですか?
SqlDataAdapter da = new SqlDataAdapter();
var cmd1 = ((IDbDataAdapter)da).DeleteCommand;
var cmd2 = ((IDbDataAdapter)da).UpdateCommand;
var cmd3 = ((IDbDataAdapter)da).SelectCommand;
var cmd4 = ((IDbDataAdapter)da).InsertCommand;
SqlDataAdapter は、すべての CRUD コマンドのゲッター/セッターを備えた IDbDataAdapter を実装します。SqlDataAdapter はこれらを明示的に実装するため、最初にインターフェイスにキャストしない限り、クラスの署名には表示されません。反省は必要ありません。
所属していません StackOverflow