c# - 使用 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();
}
解决方案
IDisposable
是实现 C# 对象的 dispose 机制的接口。例如,从文件系统读取文件需要打开一个读取流,一旦完成所有读取,则必须释放该流。打开SQL连接,然后执行一些SQL db操作,最后需要关闭打开的连接。
IDisposable
接口对于这种释放资源的 Dispose 方法很有用。
块执行完成后,块会自动using
调用该方法。Dispose
在不使用块的情况下,开发人员需要Dispose
在工作完成后处理调用。
要检查 IDisposable,请尝试创建一个实现 IDisposable 接口的类。