Wie implementiert man mehrere Vergleicher für eine IComparable <T> -Klasse?

Ich habe eine Klasse, die IComparable implementiert.

public class MyClass : IComparable<MyClass>
{
    public int CompareTo(MyClass c)
    {
        return this.whatever.CompareTo(c.whatever);
    }

    etc..
}

Ich kann dann die Sortiermethode einer generischen Liste meiner Klasse aufrufen

List<MyClass> c = new List<MyClass>();
//Add stuff, etc.

c.Sort();

und habe die Liste nach meinem Vergleich sortiert.

Wie gebe ich weitere Vergleiche an, um meine Sammlung auf unterschiedliche Weise nach den anderen Eigenschaften von MyClass zu sortieren, damit Benutzer meine Sammlung auf verschiedene Arten sortieren können?

Antworten auf die Frage(4)

Ihre Antwort auf die Frage