public static class CompareExtensions { public static IEnumerable Distinct(this IEnumerable items, Func equals, Func hashCode) { return items.Distinct(new DelegateEqualityComparer(equals, hashCode)); } public static IEnumerable Distinct(this IEnumerable items, Func equals) { return items.Distinct(new DelegateEqualityComparer(equals, null)); } }