Я хочу, чтобы мой класс Food мог тестировать всякий раз, когда он равен другому экземпляру Food. Позже я буду использовать его против списка, и я хочу использовать его метод List.Contains(). Должен ли я реализовать IEquatable<Food> или просто переопределить Object.Equals()? Из MSDN:
Этот метод определяет равенство с помощью компаратора равенства по умолчанию, как определено реализацией объекта метода IEquatable.Equals для T (тип значений в списке).
Итак, мой следующий вопрос: какие функции / классы платформы .NET используют Object.Equals()? Стоит ли мне его использовать в первую очередь?