Re[8]: Вызов "неизвестного" метода Equals из шаблона
От: HowardLovekraft  
Дата: 05.01.11 19:31
Оценка: 2 (1) +1
Здравствуйте, KA, Вы писали:

KA>Оказывается, метод попроще всё-таки есть.

KA>он реализуется через интерфейс IEquatable<T>.
KA>Ранее приведенный кусок кода надо дополнить всего парой строк (выделены жирным шрифтом), а именно:
KA>
KA>  class Super : IBase, System.IEquatable<Super>
KA>  {
KA>    public void Everything() { }
KA>    public bool Equals(Super other) { return true; }
KA>  }
KA>}

До конца не дочитали?

Примечания для разработчиков

Если реализуется интерфейс IEquatable<T>, следует также переопределить реализацию базового класса для методов Object.Equals(Object) и GetHashCode, чтобы их поведение соответствовало поведению метода IEquatable<T>.Equals.

Нифига это не проще. См. здесь
Автор: Sinix
Дата: 03.01.11
:

Для простых случаев проще использовать свой IEqualityComparer<IBase>

 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.