Как реализовать несколько компараторов для класса IComparable <T>?

У меня есть класс, который реализует IComparable.

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

    etc..
}

Затем я могу вызвать метод сортировки общего списка моего класса

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

c.Sort();

и список отсортирован по моему компаратору.

Как указать дополнительные компараторы для сортировки моей коллекции различными способами в соответствии с другими свойствами MyClass, чтобы позволить пользователям сортировать мою коллекцию различными способами?

Ответы на вопрос(4)

Ваш ответ на вопрос