CollectionChangedArgs.cs 960 B

123456789101112131415161718192021222324252627282930
  1. using System;
  2. using System.Collections.Generic;
  3. namespace IPLocationServerTool.Model
  4. {
  5. /// <summary>
  6. /// Collection change event arguments, a definited type collection change args can inherit form it
  7. /// </summary>
  8. /// <typeparam name="T"></typeparam>
  9. public class CollectionChangedArgs<T> : EventArgs
  10. {
  11. public IEnumerable<T> RemovedItems { get; }
  12. public IEnumerable<T> AddedItems { get; }
  13. public CollectionChangedArgs(IEnumerable<T> removed, IEnumerable<T> added)
  14. {
  15. RemovedItems = removed ?? new List<T>();
  16. AddedItems = added ?? new List<T>();
  17. }
  18. }
  19. /// <summary>
  20. /// a delegate declare for collection changed handler
  21. /// </summary>
  22. /// <typeparam name="T"></typeparam>
  23. /// <param name="sender"></param>
  24. /// <param name="e"></param>
  25. public delegate void CollectionChangedEventHandler<T>(object sender, CollectionChangedArgs<T> e);
  26. }