É possível transformar um IEnumerable em um IOrderedEnumerable sem usar OrderBy?

Digamos que haja um método de extensão para solicitar um IQueryable com base em vários tipos de classificação (ou seja, classificação por várias propriedades) designados por umSortMethod enum.

public static IOrderedEnumerable<AClass> OrderByX(this IQueryable<AClass> values,
    SortMethod? sortMethod)
{ 
    IOrderedEnumerable<AClass> queryRes = null;
    switch (sortMethod)
    {
        case SortMethod.Method1:
            queryRes = values.OrderBy(a => a.Property1);
            break;
        case SortMethod.Method2:
            queryRes = values.OrderBy(a => a.Property2);
            break;
        case null:
            queryRes = values.OrderBy(a => a.DefaultProperty);
            break;
        default:
            queryRes = values.OrderBy(a => a.DefaultProperty);
            break;
    }
    return queryRes;
}

No caso em quesortMethod énull (ou seja, onde é especificado que eu não me importo com a ordem dos valores), existe uma maneira de, em vez de ordenar por alguma propriedade padrão, em vez de apenas passar oIEnumerator valores através de como "ordenado" sem ter que executar o tipo real?

Eu gostaria da habilidade de chamar esta extensão, e então possivelmente executar alguns adicionaisThenBy ordenações.

questionAnswers(3)

yourAnswerToTheQuestion