c# - IDbConnection 和在 c# 中使用 block

标签 c# using using-statement idbconnection

我知道将 IDbConnection 对象包装在 using block 中可确保调用 Dispose 并释放它正在使用的资源。话虽如此,我是否还需要将 IDbCommand 和 IDataReader 包装在 using block 中,或者只是包装连接对象就足够了。谢谢。

最佳答案

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

  1. 如果您将它包装在 using block 中并且它不是 IDisposable,您将收到语法错误。
  2. 如果您的类有一个 .Dispose 方法(在 Intellisense 中很容易检查),那么您应该包装它。
  3. 如果您的类实现了 IDisposable(通过“转到定义”或 VS 中新的“查看”功能轻松检查),您应该将其包装起来。

或者,作为示例,您可以从 MSDN docs 中看到IDbCommand 实现了 IDisposable,因此应该using block 处理。

关于c# - IDbConnection 和在 c# 中使用 block ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21437340/

相关文章:

c# - 为什么我的字符串值在插入 SQL 数据库时会累积空格?

c# - 什么时候用Task.Delay,什么时候用Thread.Sleep?

c# - 从 .Net 中的 Excel 导入时的科学记数法

c++ - 如何使用静态内部类成员的别名?

使用 WCFTestClient 测试简单 WCF Web 服务的 WCF 错误

c# - 我应该多快关闭 using block ?

c# - Linq 表到 DataTable 转换

c++ - c++中using是什么意思?

c# - 在 using 语句中使用 null IDisposable 值

c++ - 如何使用迭代器?