PermissionEqualityComparer.cs 841 B

123456789101112131415161718192021222324252627282930313233
  1. using System.Collections.Generic;
  2. using Abp.Authorization;
  3. namespace IwbZero.Authorization.Base.Roles
  4. {
  5. /// <summary>
  6. /// Equality comparer for <see cref="Permission"/> objects.
  7. /// </summary>
  8. internal class PermissionEqualityComparer : IEqualityComparer<Permission>
  9. {
  10. public static PermissionEqualityComparer Instance { get; } = new PermissionEqualityComparer();
  11. public bool Equals(Permission x, Permission y)
  12. {
  13. if (x == null && y == null)
  14. {
  15. return true;
  16. }
  17. if (x == null || y == null)
  18. {
  19. return false;
  20. }
  21. return Equals(x.Name, y.Name);
  22. }
  23. public int GetHashCode(Permission permission)
  24. {
  25. return permission.Name.GetHashCode();
  26. }
  27. }
  28. }