1. 简介
接口其实就是一种规范,一种标准,实现该接口的类要遵循该标准,所以就具备该接口标准要求的功能或特性。
C#中的IDisposable接口就是一种非常有用且非常常用的接口,该接口要求类实现Dispose()方法,在该方法中释放占用的资源。如果在析构函数中释放资源要等到垃圾回收时,太晚了。
但是手动调用Dispose方法稍微有点麻烦,而且也怕忘了调用,这样资源也得不到及时释放,所以可以使用using关键字,using关键字代码块的末尾会自动调用Dispose方法。
2. 示例
class Database:IDisposable
{
public void visitDatabase()
{
Console.WriteLine("开始访问数据库");
}
public void Dispose()
{
Console.WriteLine("释放数据库连接资源");
}
//主函数,测试入口
static void Main(string[] args)
{
//手工释放
Database db = new Database();
db.visitDatabase();
db.Dispose();
//using关键字自动释放
using (Database db2 = new Database())
{
db2.visitDatabase();
}
//using关键字自动释放
Database db3 = null;
using (db3 = new Database())
{
db3.visitDatabase();
}
}
}
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLicmbw5CZjNjN4ImMiV2MyETOzEjYxMGO0UWZxEzYjdTZwYzYj9CX5d2bs92Yl1iclB3bsVmdlR2LcNWaw9CXt92Yu4GZjlGbh5yYjV3Lc9CX6MHc0RHaiojIsJye.png)