Из раздела IEqualityComparer
примечаний в MSDN:
Мы рекомендуем унаследовать от EqualityComparer
вместо реализация IEqualityComparer интерфейс, потому что EqualityComparer тесты класса для равенство с использованием IEquatable .Equals вместо метод Object.Equals. ...
Я не понимаю аргумент цитаты о том, почему мы предпочли бы унаследовать от класса EqualityComparer
вместо реализации IEqualityComparer
. Это означает, что объекты, реализующие IEqualityComparer
, будут проверять равенство с помощью Object.Equals
, но это не весь смысл реализации IEqualityComparer
, когда мы не хотим проверять равенство с помощью Object.Equals
или IEquatable
?
Это также означает, что если мы производим от EqualityComparer
, то производный класс будет проверять равенство с помощью метода IEquatable
. Опять же, не так ли?
Содержит, IndexOf, LastIndexOf и
Удалить методы из Dictionary