MQDispose.cs 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. namespace EasyMQ
  7. {
  8. public abstract class MQDispose : IDisposable
  9. {
  10. public virtual void DisposeManaged()
  11. {
  12. }
  13. public virtual void DisposeUnmanaged()
  14. {
  15. }
  16. private bool disposedValue;
  17. private void Dispose(bool disposing)
  18. {
  19. if (!disposedValue)
  20. {
  21. if (disposing)
  22. {
  23. DisposeManaged();
  24. // TODO: 释放托管状态(托管对象)
  25. }
  26. DisposeUnmanaged();
  27. // TODO: 释放未托管的资源(未托管的对象)并重写终结器
  28. // TODO: 将大型字段设置为 null
  29. disposedValue = true;
  30. }
  31. }
  32. // // TODO: 仅当“Dispose(bool disposing)”拥有用于释放未托管资源的代码时才替代终结器
  33. // ~MQDispose()
  34. // {
  35. // // 不要更改此代码。请将清理代码放入“Dispose(bool disposing)”方法中
  36. // Dispose(disposing: false);
  37. // }
  38. public void Dispose()
  39. {
  40. // 不要更改此代码。请将清理代码放入“Dispose(bool disposing)”方法中
  41. Dispose(disposing: true);
  42. GC.SuppressFinalize(this);
  43. }
  44. }
  45. }