Permalink
Cannot retrieve contributors at this time
Fetching contributors…
| // <Snippet3> | |
| using Microsoft.Win32.SafeHandles; | |
| using System; | |
| using System.Runtime.InteropServices; | |
| class BaseClass : IDisposable | |
| { | |
| // Flag: Has Dispose already been called? | |
| bool disposed = false; | |
| // Instantiate a SafeHandle instance. | |
| SafeHandle handle = new SafeFileHandle(IntPtr.Zero, true); | |
| // Public implementation of Dispose pattern callable by consumers. | |
| public void Dispose() | |
| { | |
| Dispose(true); | |
| GC.SuppressFinalize(this); | |
| } | |
| // Protected implementation of Dispose pattern. | |
| protected virtual void Dispose(bool disposing) | |
| { | |
| if (disposed) | |
| return; | |
| if (disposing) { | |
| handle.Dispose(); | |
| // Free any other managed objects here. | |
| // | |
| } | |
| // Free any unmanaged objects here. | |
| // | |
| disposed = true; | |
| } | |
| } | |
| // </Snippet3> | |