17.05.2018 Объясните насчет переопределения Equals(object)
 
Копаюсь в чужом коде

Вижу:

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)

 
 
 
 
10.12  .NET Reactor
15.11  n
15.11  C# ClickOnce