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