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