BaseForm.Dispose(Boolean) Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Libera os recursos não gerenciados usados pelo BaseForm e opcionalmente libera os recursos gerenciados.
protected:
override void Dispose(bool disposing);
protected override void Dispose (bool disposing);
override this.Dispose : bool -> unit
Protected Overrides Sub Dispose (disposing As Boolean)
Parâmetros
- disposing
- Boolean
true
para liberar recursos gerenciados e não gerenciados; false
para liberar apenas recursos não gerenciados.
Exemplos
O exemplo a seguir implementa o método 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);
}
Comentários
Classes que substituem esse método devem chamar a sobrecarga pai Dispose .
Este método é chamado pelo método público Dispose()
e pelo método Finalize. Dispose()
invoca o método Dispose(Boolean)
protegido com o parâmetro disposing
definido como true
. Finalize invoca Dispose
com disposing
definido como false
.
Quando o disposing
parâmetro é true
, esse método libera todos os recursos mantidos por quaisquer objetos gerenciados referenciados por ele BaseForm . Este método invoca o método Dispose()
de cada objeto referenciado.
Notas aos Herdeiros
Dispose
pode ser chamado várias vezes por outros objetos. Ao substituir Dispose(Boolean)
, tome cuidado para não referenciar objetos que tenham sido descartados anteriormente em uma chamada anterior para Dispose
. Para obter mais informações sobre como implementar Dispose(Boolean)
, consulte Implementando um método dispose.
Para obter mais informações sobre Dispose
e Finalize(), consulte Limpando recursos não gerenciados e Substituindo o método Finalize.