using System; using System.Collections.Generic; namespace NugetForUnity.Models { /// /// Equality comparer implementation that only compares the of the packages. /// public sealed class NugetPackageIdEqualityComparer : IEqualityComparer, IEqualityComparer { /// public bool Equals(INugetPackageIdentifier x, INugetPackageIdentifier y) { if (ReferenceEquals(x, y)) { return true; } if (x is null || y is null) { return false; } return string.Equals(x.Id, y.Id, StringComparison.OrdinalIgnoreCase); } /// public bool Equals(INugetPackage x, INugetPackage y) { return Equals((INugetPackageIdentifier)x, y); } /// public int GetHashCode(INugetPackageIdentifier obj) { return StringComparer.OrdinalIgnoreCase.GetHashCode(obj.Id); } /// public int GetHashCode(INugetPackage obj) { return GetHashCode((INugetPackageIdentifier)obj); } } }