使用關鍵字
當一個物件實現 IDisposable
介面時,可以在 using
語法中建立它:
using (var foo = new Foo())
{
// do foo stuff
} // when it reaches here foo.Dispose() will get called
public class Foo : IDisposable
{
public void Dispose()
{
Console.WriteLine("dispose called");
}
}
using
是 try/finally
塊的合成糖 ; 以上用法大致可轉化為:
{
var foo = new Foo();
try
{
// do foo stuff
}
finally
{
if (foo != null)
((IDisposable)foo).Dispose();
}
}