У меня есть List<MyObj>
с class MyObj : IComparable
. Я написал метод CompareTo
в классе MyObj
для интерфейса IComparable
, но когда я использую List<MyObj>.Contains(myObjInstance)
, он возвращает false
, хотя должен быть true
.
Я не уверен, что понимаю, как мне нужно действовать, чтобы убедиться, что List
использует мой пользовательский метод сравнения при вызове функции Contains
.
Вот моя реализация compareTo:
#region IComparable Members
public int CompareTo(object obj)
{
MyObj myObj = (MyObj)obj;
return String.Compare(this.Symbol, myObj.Symbol, true);
}
#endregion
Обратите внимание, что свойство Symbol является строкой.
Чтобы уточнить, я поставил точку остановки в этом методе compareTo, и он даже не идет туда.
Кто-нибудь когда-нибудь пробовал это?
Спасибо.