Example #1
0
        public int Compare(T x, T y)
        {
            var comparers = ComparerFactory.GetComparers <T>();

            foreach (var comparer in comparers)
            {
                var comparisionResult = comparer.Compare(x, y);
                if (comparisionResult.FoundResult)
                {
                    return(comparisionResult.Result);
                }
            }

            return(ComparerFactory.GetDefaultComparer <T>().Compare(x, y));
        }