IDeserializeSystem.cs 599 B

123456789101112131415161718192021222324252627282930
  1. using System;
  2. namespace ETModel
  3. {
  4. public interface IDeserializeSystem
  5. {
  6. Type Type();
  7. void Run(object o);
  8. }
  9. /// <summary>
  10. /// 反序列化后执行的System
  11. /// 要小心使用这个System,因为对象假如要保存到数据库,到dbserver也会进行反序列化,那么也会执行该System
  12. /// </summary>
  13. /// <typeparam name="T"></typeparam>
  14. public abstract class DeserializeSystem<T> : IDeserializeSystem
  15. {
  16. public void Run(object o)
  17. {
  18. this.Deserialize((T)o);
  19. }
  20. public Type Type()
  21. {
  22. return typeof(T);
  23. }
  24. public abstract void Deserialize(T self);
  25. }
  26. }