Ändern Liste.Enthält Verhalten

Ich habe eine List<MyObj> mit der class MyObj : IComparable. Ich habe die Methode CompareTo im MyObj Klasse pro die IComparable interface, aber wenn ich den List<MyObj>.Contains(myObjInstance) es gibt false sein, wenn es true.

Ich bin mir nicht sicher, ich bin zu verstehen, wie muss ich Vorgehen, um sicherzustellen, dass die List nutzt mein custom-Vergleich-Methode beim Aufruf dann Contains Funktion.

Hier ist mein compareTo Umsetzung:

    #region IComparable Members

    public int CompareTo(object obj)
    {
        MyObj myObj = (MyObj)obj;
        return String.Compare(this.Symbol, myObj.Symbol, true);
    }

    #endregion

Beachten Sie das Symbol-Eigenschaft ist ein string.

Zu klären, habe ich einen Haltepunkt in diese compareTo-Methode und es ist nicht einmal dort gehen.

Jemand mal ausprobiert?

Dank.

  • Können Sie uns zeigen, Ihren code?
  • Speziell die Implementierung von CompareTo
InformationsquelleAutor Lancelot | 2009-07-02
Schreibe einen Kommentar