首页 > 解决方案 > 使用 SqlConnection 对象时如何调用 Dispose 方法?

问题描述

我只是在 .NET 中编写代码,所以当我阅读有关Using语句时。可以像下面的 try-finally 一样理解。谁能为我解释什么是((IDisposable)connection).Dispose()以及如果我想使用 Dispose( ) ,为什么必须在 Name 变量之前指定(IDisposable )?

using(SqlConnection connection = new SqlConnection(AddressBox.Text.Trim()))
        {
            connection.Open();
        }

一样的:

try
        {
            SqlConnection connection = new SqlConnection(AddressBox.Text.Trim());
            connection.Open();
        }
        finally
        {
            ((IDisposable)connection).Dispose();
        }

标签: c#.netdispose

解决方案


IDisposable是实现 C# 对象的 dispose 机制的接口。例如,从文件系统读取文件需要打开一个读取流,一旦完成所有读取,则必须释放该流。打开SQL连接,然后执行一些SQL db操作,最后需要关闭打开的连接。

IDisposable接口对于这种释放资源的 Dispose 方法很有用。

块执行完成后,块会自动using调用该方法。Dispose在不使用块的情况下,开发人员需要Dispose在工作完成后处理调用。

要检查 IDisposable,请尝试创建一个实现 IDisposable 接口的类。


推荐阅读