public int GetHashCode(PackageDependency obj) { if (ReferenceEquals(obj, null)) { return(0); } var combiner = new HashCodeCombiner(); combiner.AddObject(obj.Id.ToUpperInvariant()); // Treat null ranges and the All range as the same thing here if (obj.VersionRange != null && !obj.VersionRange.Equals(VersionRange.All)) { combiner.AddObject(_versionRangeComparer.GetHashCode(obj.VersionRange)); } foreach (var include in obj.Include.OrderBy(s => s, StringComparer.OrdinalIgnoreCase)) { combiner.AddObject(include.ToLowerInvariant()); } // separate the lists combiner.AddObject(8); foreach (var exclude in obj.Exclude.OrderBy(s => s, StringComparer.OrdinalIgnoreCase)) { combiner.AddObject(exclude.ToLowerInvariant()); } return(combiner.CombinedHash); }
public int GetHashCode(PackageDependency obj) { if (Object.ReferenceEquals(obj, null)) { return(0); } var combiner = new HashCodeCombiner(); combiner.AddObject(obj.Id.ToUpperInvariant()); // Treat null ranges and the All range as the same thing here if (obj.VersionRange != null && !obj.VersionRange.Equals(VersionRange.All)) { combiner.AddObject(_versionRangeComparer.GetHashCode(obj.VersionRange)); } return(combiner.CombinedHash); }