У меня есть 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, и он даже не входит туда.
Кто-нибудь когда-либо пробовал это?
Спасибо.
Можете ли вы показать нам свой код? –
В частности, реализация CompareTo –