Was this page helpful?
Your feedback about this content is important. Let us know what you think.
Additional feedback?
1500 characters remaining
Export (0) Print
Expand All

SafeHandle.Dispose Method

Releases all resources used by the SafeHandle class.

Namespace:  System.Runtime.InteropServices
Assemblies:   mscorlib (in mscorlib.dll)
  System.Runtime.Handles (in System.Runtime.Handles.dll)

'Declaration
Public Sub Dispose

Implements

IDisposable.Dispose

Calling the Close or Dispose method allows the resources to be freed. This might not happen immediately if other threads are using the same instance of the safe handle, but will happen as soon as that is no longer the case. Although most classes using SafeHandle do not need to provide a finalizer, this is sometimes necessary (for example, to flush out file buffers or to write some data back into memory). In this case, they can provide a finalizer that is guaranteed to run before the SafeHandle critical finalizer runs.

Call the Close or Dispose method when you are finished using the SafeHandle object. The Close method leaves the SafeHandle object in an unusable state.

NoteNote

Always call the Close or Dispose method before you release your last reference to the SafeHandle object. Otherwise, the resources it is using will not be freed until the garbage collector calls the SafeHandle object's Finalize method.

.NET Framework

Supported in: 4.6, 4.5, 4, 3.5, 3.0, 2.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

.NET for Windows Phone apps

Supported in: Windows Phone 8.1, Windows Phone Silverlight 8.1, Windows Phone Silverlight 8

Portable Class Library

Supported in: Portable Class Library

Show:
© 2015 Microsoft