>
開発環境:
開発環境:
Windows10 Pro
Microsoft Visual Studio Community 2019
開発言語:
VB.NET FrameWork4.5
一度使ったObject を完全になかったものにすることは難しいようです。
そこで用意されているものが、Dispose 「廃棄」です。
Usingが使えたり、Disposeで完全開放できたりととても便利になります。
案外、知られていないようなので、一応上げておきます。
Class宣言にImplements IDisposableを指定するだけで、
Dispose可能なClassを作ることができます。
Public Class Meisi Implements IDisposable ''====================== ''上記のようにクラスにImplements IDisposableを定義すると下記コードが追加されます。 #Region "IDisposable Support" Private disposedValue As Boolean ' 重複する呼び出しを検出するには ' IDisposable Protected Overridable Sub Dispose(disposing As Boolean) If Not Me.disposedValue Then If disposing Then ' TODO: マネージ状態を破棄します (マネージ オブジェクト)。 End If ' TODO: アンマネージ リソース (アンマネージ オブジェクト) を解放し、 ' 下の Finalize() をオーバーライドします。 ' TODO: 大きなフィールドを null に設定します。 End If Me.disposedValue = True End Sub ' TODO: 上の Dispose(ByVal disposing As Boolean) にアンマネージ リソース ' を解放するコードがある場合にのみ、 ' Finalize() をオーバーライドします。 ' Protected Overrides Sub Finalize() ' このコードを変更しないでください。クリーンアップ コードを上の ' Dispose(ByVal disposing As Boolean) に記述します。 ' Dispose(False) ' MyBase.Finalize() ' End Sub ' このコードは、破棄可能なパターンを正しく実装できるように ' Visual Basic によって追加されました。 Public Sub Dispose() Implements IDisposable.Dispose ' このコードを変更しないでください。クリーンアップ コードを ' 上の Dispose(disposing As Boolean) に記述します。 Dispose(True) GC.SuppressFinalize(Me) End Sub #End Region End Class
自動的に追加されたコードのTODOのに必要な処理を追記すれば良いだけです。
なお、TODOへの追加コードがなくてもusingが使えたり、Disposeが使えます。
コーディングの幅は、広がりますね。。。。