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