0

我正在为我们的应用程序创建一个通用的错误处理/日志记录类。目标是记录异常信息、有关类和函数(以及参数)的信息,以及有关System.Data.SqlClient.SqlCommand对象的信息(如果相关)。

我希望能够处理传入SqlCommands,TableAdaptorsSqlDataAdaptors.

我是使用反射的新手,我知道可以做到这一点,我只是不知道如何去做。请指教。

4

1 回答 1

0

这就是你在说的吗?

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 实现 IDbDataAdapter,它具有所有 CRUD 命令的 getter/setter。SqlDataAdapter 显式实现这些,因此它们不会出现在类的签名中,除非您首先将其强制转换为接口。无需反思。

于 2008-09-19T15:21:34.623 回答