Это значительно снижает Ваш уровень уверенности о безопасности.
Самый простой способ узнать, вызывается ли ваш метод CompareTo, - это установить в нем точку останова и нажмите F5, чтобы запустить вашу программу. Но я считаю, что List
ищет интерфейс IEquatable
для сравнения.
Согласно документации для List
, он использует либо вашу реализацию интерфейса IEquatable
, либо объект .Equals
], которую также можно переопределить.
Did you try overriding the Equals method?
List
, according to reflector, uses EqualityComparer
to check for containment, and the default implementation (ObjectEqualityComparer) uses Equals for most normal objects.