MS documentation notes that it is better to derive from Comparer class rather than implement class that implements IComparer<T>
interface.
We recommend that you derive from the Comparer class instead of implementing the IComparer interface, because the Comparer class provides an explicit interface implementation of the IComparer.Compare method and the Default property that gets the default comparer for the object.
So why derive from Comparer in order to create custom comparator ?