Похоже, что метод Sort
ожидает реализации IComparer<T>
- универсального с параметром типа, тогда как NumericComparer
реализует неуниверсальный интерфейс IComparer
.
Итак,если ваш список, скажем, List<decimal>
, вам нужно предоставить IComparer<decimal>
.
. Вы сможете быстро составить класс, который использует NumericComparer
:
public class GenericNumericComparer<T> : IComparer<T>
{
private static readonly NumericComparer _innerComparer = new NumericComparer();
public int Compare(T x, T y)
{
return _innerComparer.Compare(x, y); // I'm guessing this is how NumericComparer works
}
}
* 1014.* Так что теперь вы можете вызывать
myList.Sort(new GenericNumericComparer<decimal>());
(Обратите внимание, что вы на самом деле можете также назвать свой универсальный класс NumericComparer
- он отличается параметром типа. Я добавил здесь "Generic" для ясности.)