Объясните насчет переопределения Equals(object)
От: Коваленко Дмитрий Россия http://www.ibprovider.com
Дата: 17.05.18 18:03
Оценка:
Копаюсь в чужом коде

Вижу:

class TMy
{
 //....

 public override bool Equals(object obj)
 {
  if (ReferenceEquals(null, obj))
   return false;

  if (ReferenceEquals(this, obj))
   return true;

  return obj.GetType() == GetType() && Equals((TMy)obj);
 }

 public override int GetHashCode()
 {
  unchecked
  {
   //BLA-BLA-BLA
   return hashCode;
  }
};//class TMy


Объясните, плиз — зачем здесь влепили Equals(object)?

По-моему по умолчанию он делает ровно тоже самое. Не?

У меня из башки уже выветрились все эти нюансы.

Вроде было, что если переопределяешь GetHashCode, то нужно переопределить Equals.

Я попробовал закомментрировать этот Equals — все собралось (VS2017, .FW4.6.2)
-- Пользователи не приняли программу. Всех пришлось уничтожить. --
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.