Ask Learn
Preview
Please sign in to use this experience.
Sign inThis browser is no longer supported.
Upgrade to Microsoft Edge to take advantage of the latest features, security updates, and technical support.
Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Releases the resources used by the Component.
Dispose() |
Releases all resources used by the Component. |
Dispose(Boolean) |
Releases the unmanaged resources used by the Component and optionally releases the managed resources. |
Releases all resources used by the Component.
public:
virtual void Dispose();
public void Dispose();
abstract member Dispose : unit -> unit
override this.Dispose : unit -> unit
Public Sub Dispose ()
Call Dispose when you are finished using the Component. The Dispose method leaves the Component in an unusable state. After calling Dispose, you must release all references to the Component so the garbage collector can reclaim the memory that the Component was occupying. For more information, see Cleaning Up Unmanaged Resources and Implementing a Dispose Method.
Note
Always call Dispose before you release your last reference to the Component. Otherwise, the resources it is using will not be freed until the garbage collector calls the Component object's Finalize
method.
Product | Versions |
---|---|
.NET | Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10 |
.NET Framework | 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1 |
.NET Standard | 2.0, 2.1 |
Releases the unmanaged resources used by the Component and optionally releases the managed resources.
protected:
virtual void Dispose(bool disposing);
protected virtual void Dispose(bool disposing);
abstract member Dispose : bool -> unit
override this.Dispose : bool -> unit
Protected Overridable Sub Dispose (disposing As Boolean)
true
to release both managed and unmanaged resources; false
to release only unmanaged resources.
This method is called by the public Dispose() method and the Finalize() method, if it has been overridden. Dispose()
invokes this method with the disposing
parameter set to true
. Finalize
invokes this method with disposing
set to false
.
When the disposing
parameter is true
, this method releases all resources held by any managed objects that this Component references. This method invokes the Dispose()
method of each referenced object.
Dispose
can be called multiple times by other objects. When overriding Dispose(Boolean)
, be careful not to reference objects that have been previously disposed of in an earlier call to Dispose
. For more information about how to implement Dispose(Boolean)
, see Implementing a Dispose Method.
For more information about Dispose
and Finalize(), see Cleaning Up Unmanaged Resources and Overriding the Finalize Method.
Product | Versions |
---|---|
.NET | Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10 |
.NET Framework | 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1 |
.NET Standard | 2.0, 2.1 |
.NET feedback
.NET is an open source project. Select a link to provide feedback:
Please sign in to use this experience.
Sign in