| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- using System;
- using System.ComponentModel;
- using Base;
- using MongoDB.Bson.Serialization.Attributes;
- namespace Model
- {
- public abstract class Object: IDisposable, ISupportInitialize
- {
- [BsonIgnore]
- public static ObjectManager ObjectManager = new ObjectManager();
- [BsonId]
- public long Id { get; private set; }
- protected Object()
- {
- Id = IdGenerater.GenerateId();
- ObjectManager.Add(this);
- }
- protected Object(long id)
- {
- this.Id = id;
- ObjectManager.Add(this);
- }
- public virtual void Dispose()
- {
- if (this.Id == 0)
- {
- return;
- }
- ObjectManager.Remove(this.Id);
- this.Id = 0;
- }
- public virtual void BeginInit()
- {
- }
- public virtual void EndInit()
- {
- }
- }
- }
|