C#中可使用using關鍵字自動清除對象資源。
# MyObject.cs
using System;
namespace MyProjects
{
public class MyObject : IDisposable
{
public MyObject()
{
}
public void Dispose ( )
{
// Dispose
Console.WriteLine ( "Disposed" ) ;
// ...
}
}
}
# Class1.cs
using System;
namespace MyProjects
{
public class Class1
{
public Class1()
{
}
public static void Main ( string[] args )
{
using ( MyObject myObject = new MyObject ( ) )
{
Console.WriteLine ( "quit" ) ;
}
}
}
}
使用using會自動調用MyObject的Dispose方法.
如果MyObject未實現IDispose接口,則編譯時會出錯:無法將類型“MyProjects. MyObject”隱式轉換為“System.IDisposable”
這種寫法可替代
try
{ //... }
catch
{ }
finnaly
{ MyObject.Dispose ( ) ; }