IDbConnection并在c#中使用块

时间:2014-01-29 16:48:08

标签: c# using using-statement idbconnection

我理解在使用块中包装IDbConnection对象可确保调用Dispose并释放它正在使用的资源。这就是说我也需要在使用块中包装IDbCommand和IDataReader,或者只是将连接对象包装得足够。感谢。

2 个答案:

答案 0 :(得分:2)

有许多简单的方法可以在不查阅文档的情况下为任何给定对象找出答案:

  1. 如果您将其打包在using块中且不是IDisposable,则会出现语法错误。
  2. 如果您的班级有.Dispose方法(在Intellisense中轻松检查),那么您应该将其包裹起来。
  3. 如果您的班级实施IDisposable(通过&#34轻松检查;转到定义"或VS中的新" peek"功能),您应该将其打包。
  4. 或者,作为示例,您可以从MSDN docs看到IDbCommand实现IDisposable,因此 将被处置{{1阻止。

答案 1 :(得分:1)

最佳做法是将任何作用域IDisposable对象包装在using块中。当您编写与接口交互的代码时尤其如此,因为您不知道底层实现的细节;在某些情况下这可能很重要。