Dispose
используется для освобождения ресурсов, которые не управляются средой выполнения (неуправляемые ресурсы). К ним относятся файлы, потоки, шрифты и т. Д. сборщик мусора автоматически освобождает память, выделенную для управляемого объекта, когда этот объект больше не используется. Однако невозможно предсказать, когда произойдет сборка мусора. Кроме того, сборщик мусора не знает о неуправляемых ресурсах, таких как дескрипторы окон или открытые файлы и потоки.
В вашем коде метод Dispose
базового класса переопределяется реализацией дочернего класса, поэтому ключевое слово overriden
указывает на вызов Mybase.Dispose
. Базовый класс - IContainer
, а дочерний класс - Form
. Метод Dispose
доступен в интерфейсе IDisposable
.
В designer.vb
этот автоматически сгенерированный код служит для вызова Dispose
в компонентах формы, когда Dispose
вызывается в форме, т.е. когда форма располагается, также утилизируйте ее компоненты.
<System.Diagnostics.DebuggerNonUserCode()> _
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
Try
' If Dispose() has been called explicitly free both managed and
' unmanaged resources (disposing = true)
' and there are components in the form
If disposing AndAlso components IsNot Nothing Then
' Free the resources used by components
components.Dispose()
End If
Finally
' Once done disposing the current form's resources,
' dispose the resources held by its base class
' Finally clause executes this code block (to dispose base class)
' whether or not an exception has been encountered while
' disposing the resources in the form
MyBase.Dispose(disposing)
End Try
Дополнительная информация