Disposable.cs 792 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. using System;
  2. namespace Masuit.Tools.Systems
  3. {
  4. /// <summary>
  5. /// Disposable
  6. /// </summary>
  7. public abstract class Disposable : IDisposable
  8. {
  9. private bool isDisposed;
  10. /// <summary>
  11. /// 终结器
  12. /// </summary>
  13. ~Disposable()
  14. {
  15. Dispose(false);
  16. }
  17. /// <summary>
  18. ///
  19. /// </summary>
  20. public void Dispose()
  21. {
  22. if (isDisposed)
  23. {
  24. return;
  25. }
  26. Dispose(true);
  27. isDisposed = true;
  28. GC.SuppressFinalize(this);
  29. }
  30. /// <summary>
  31. /// 释放
  32. /// </summary>
  33. /// <param name="disposing"></param>
  34. public abstract void Dispose(bool disposing);
  35. }
  36. }