为什么派生自Comparer <t>类而不是实现实现IComparer <t>接口的类?</t> </t>

时间:2014-04-01 10:06:18

标签: c#

MS documentation指出,最好从Comparer类派生而不是实现实现IComparer<T>接口的类。

  

我们建议您从Comparer类派生而不是   实现IComparer接口,因为是Comparer类   提供IComparer.Compare的显式接口实现   方法和获取默认比较器的Default属性   对象

那么为什么要从Comparer派生以创建自定义比较器呢?

1 个答案:

答案 0 :(得分:2)

主要的好处是,这使得比较器可以免费实现非通用的IComparer接口,这在与旧版API交互时很有用,或者如果您希望能够存储不同类型的比较器集合。

查看this related question