BaseForm.Dispose(Boolean) メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
BaseForm によって使用されているアンマネージド リソースを解放し、オプションでマネージド リソースも解放します。
protected:
override void Dispose(bool disposing);
protected override void Dispose (bool disposing);
override this.Dispose : bool -> unit
Protected Overrides Sub Dispose (disposing As Boolean)
パラメーター
- disposing
- Boolean
マネージド リソースとアンマネージド リソースの両方を解放する場合は true
。アンマネージド リソースだけを解放する場合は false
。
例
Dispose メソッドを実装する例を次に示します。
protected override void Dispose(bool disposing) {
// NOTE: Dispose gets called multiple times.
// Check for a non-null ServiceProvider.
if (disposing && (ServiceProvider != null)) {
persistWindowVals();
if (_managementFrame != null) {
_managementFrame.Dispose();
_managementFrame = null;
}
IServiceContainer serviceContainer = (IServiceContainer)
GetService(typeof(IServiceContainer));
Debug.Assert(serviceContainer != null);
if (serviceContainer != null) {
serviceContainer.RemoveService(typeof(IPropertyEditingService));
serviceContainer.RemoveService(typeof(IManagementUIService));
}
if (_uiService != null) {
((IDisposable)_uiService).Dispose();
_uiService = null;
}
}
base.Dispose(disposing);
}
注釈
このメソッドをオーバーライドするクラスは、親 Dispose オーバーロードを呼び出す必要があります。
このメソッドは、パブリックな Dispose()
メソッドと Finalize メソッドによって呼び出されます。 Dispose()
パラメーターを に設定して、保護されたDispose(Boolean)
メソッドをdisposing
true
呼び出します。 Finalize を に Dispose
設定して disposing
を false
呼び出します。
disposing
パラメーターが true
の場合、このメソッドは、この BaseForm が参照しているすべてのマネージド オブジェクトによって保持されているリソースをすべて解放します。 このメソッドは、参照される各オブジェクトの Dispose()
メソッドを呼び出します。
注意 (継承者)
Dispose
は、他のオブジェクトから複数回呼び出すことができます。 Dispose(Boolean)
をオーバーライドする場合は、以前に Dispose
を呼び出したときに破棄されたオブジェクトを参照しないように注意してください。 実装 Dispose(Boolean)
方法の詳細については、「 Dispose メソッドの実装」を参照してください。
と Finalize()の詳細Dispose
については、「アンマネージ リソースのクリーンアップ」および「Finalize メソッドのオーバーライド」を参照してください。