Важно ли переопределить Equals, если я реализую IEquatable <T>?
Я знаю важность переопределенияGetHashCode
при реализации пользовательских проверок равенства - для которых я реализовалIEquality
интерфейс, а также разница между общим и неуниверсальнымEquals
как обсуждено здесь. Теперь есть смысл переопределитьEquals(object t)
? Wouldn»т все под общим?Equals(T t)
public override int GetHashCode() //required for hashsets and dictionaries
{
return Id;
}
public bool Equals(T other) //IEquatable here
{
return Id == other.Id;
}
public override bool Equals(object obj) //required??
{
return Equals(obj as T);
}