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(); } } }