Disposer.cs 414 B

12345678910111213141516171819202122232425
  1. using System;
  2. using MongoDB.Bson.Serialization.Attributes;
  3. namespace Model
  4. {
  5. public abstract class Disposer : Object, IDisposable
  6. {
  7. [BsonIgnoreIfDefault]
  8. [BsonDefaultValue(1L)]
  9. [BsonElement]
  10. [BsonId]
  11. public long Id { get; set; }
  12. protected Disposer()
  13. {
  14. ObjectEvents.Instance.Add(this);
  15. }
  16. public virtual void Dispose()
  17. {
  18. this.Id = 0;
  19. ObjectPool.Instance.Recycle(this);
  20. }
  21. }
  22. }