| 1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- using System;
- namespace MQTTnet.Internal
- {
- public abstract class Disposable : IDisposable
- {
- protected bool IsDisposed { get; private set; } = false;
- protected void ThrowIfDisposed()
- {
- if (IsDisposed)
- {
- throw new ObjectDisposedException(GetType().Name);
- }
- }
- protected virtual void Dispose(bool disposing)
- {
- }
- // TODO: override a finalizer only if Dispose(bool disposing) above has code to free unmanaged resources.
- // ~Disposable()
- // {
- // // Do not change this code. Put cleanup code in Dispose(bool disposing) above.
- // Dispose(false);
- // }
- // This code added to correctly implement the disposable pattern.
- public void Dispose()
- {
- // Do not change this code. Put cleanup code in Dispose(bool disposing) above.
- if (IsDisposed)
- {
- return;
- }
- IsDisposed = true;
- Dispose(true);
- GC.SuppressFinalize(this);
- }
- }
- }
|