UsersCollection.cs
上传用户:autodoor
上传日期:2022-08-04
资源大小:9973k
文件大小:1k
源码类别:

.net编程

开发平台:

Others

  1. using System;
  2. using System.Collections;
  3. namespace qminoa.BLL.PM
  4. {
  5. public class UsersCollection : ArrayList
  6. {
  7. public enum UserFields
  8. {
  9. InitValue,
  10. UserName, 
  11. RoleName
  12. }
  13. public void Sort(UserFields sortField, bool isAscending)
  14. {
  15. switch (sortField) 
  16. {
  17. case UserFields.UserName:
  18. base.Sort(new NameComparer());
  19. break;
  20. case UserFields.RoleName:
  21. base.Sort(new RoleNameComparer());
  22. break;
  23. }
  24. if (!isAscending) base.Reverse();
  25. }
  26. private sealed class NameComparer : IComparer 
  27. {
  28. public int Compare(object x, object y)
  29. {
  30. PMUser first = (PMUser) x;
  31. PMUser second = (PMUser) y;
  32. return first.UserName.CompareTo(second.UserName);
  33. }
  34. }
  35. private sealed class RoleNameComparer : IComparer 
  36. {
  37. public int Compare(object x, object y)
  38. {
  39. PMUser first = (PMUser) x;
  40. PMUser second = (PMUser) y;
  41. return first.RoleName.CompareTo(second.RoleName);
  42. }
  43. }
  44. }
  45. }