C#にはDisposeメソッドを確実に呼び出すようにする簡単な方法が用意されています。それはusingステートメントを使う方法です。次の例ではFontクラスのインスタンスを作成し、その後クリーンアップしています。
using System.Drawing; class a { public static void Main() { using (Font MyFont = new Font("Arial", 10.0f)) { //MyFont を使用したコードがあるものとする } //コンパイラが MyFont の Dispose を呼び出す } }
.NET Farmework 1.1以前で、これと同じものをVB.NETで書くと、Try...Finally文のFinallyにおいてDisposeメソッドを呼び出すことになります。
Imports System.Drawing Class a Public Shared Sub Main() Dim MyFont As New Font("Arial", 10.0F) Try 'MyFont を使用したコードがあるものとする Finally 'MyFont の Dispose を呼び出す If Not MyFont Is Nothing Then MyFont.Dispose() End If End Try End Sub End Class
.NET Framework 2.0以降では、VB.NETでもUsingを使用することができます。
Imports System.Drawing Class a Public Shared Sub Main() Using MyFont As New Font("Arial", 10.0F) 'MyFont を使用したコードがあるものとする End Using 'コンパイラが MyFont の Dispose を呼び出す End Sub End Class
注意:この記事では、基本的な事柄の説明が省略されているかもしれません。初心者の方は、特に以下の点にご注意ください。