using System; using System.Collections.Generic; namespace KitsuneCafe.Sys { public class FComparer : IComparer { private readonly Func comparer; public FComparer(Func comparer) { this.comparer = comparer; } public static IComparer Create(Func comparer) { return new FComparer(comparer); } public int Compare(T x, T y) { return comparer(x, y); } } public class FEqualityComparer : IEqualityComparer { private readonly Func comparer; public FEqualityComparer(Func comparer) { this.comparer = comparer; } public static IEqualityComparer Create(Func comparer) { return new FEqualityComparer(comparer); } public bool Equals(T a, T b) { return comparer(a, b); } public int GetHashCode(T obj) { return obj.GetHashCode(); } } }