Disposable.cs 663 B

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