System.IDisposable を実装していると、using(obj){ /* … */ }という構文が使える。たとえば
Graphics g;
Brush b;
try{
g = pictureBox1.CreateGraphics();
b = new SolidBrush(Color.Black);
g.FillRectangle(b, 10, 0, 100, 100);
}finally{
b.Dispose();
g.Dispose();
}
は,
using(Graphics g = pictureBox1.CreateGraphics()){
using(Brush b = new SolidBrush(Color.Black)){
g.FillRectangle(b, 10, 0, 100, 100);
}
}
と等しい。
標準クラスライブラリでは多くのクラスがこのインターフェイスを実装しているため、ファイルアクセス、データベースアクセスなどでも利用できてなかなか便利。
参考:
– C# Tips −usingを使え、使えったら使え(^^)
– .NET Framework クラスライブラリ – IDisposable インターフェイス