Как создать универсальный метод расширения?

Я хочу разработать общий метод расширения, который должен располагать строку в алфавитном порядке, затем в порядке возрастания длины.

Я имею в виду

string[] names = { "Jon", "Marc", "Joel",
                  "Thomas", "Copsey","Konrad","Andrew","Brian","Bill"};

var query = names.OrderBy(a => a.Length).ThenBy(a => a);

Как разработать общий метод расширения?

Я старался :

public static class ExtensionOperation
    {
        public static T[] AlphaLengthWise(this T[] names)
        {
            var query = names.OrderBy(a => a.Length).ThenBy(a => a);
            return query;
        }
    }

Я получил :

Ошибка 1: T не содержит определения длины

Ошибка 2: не могу конвертироватьSystem.Linq.IOrderedEnumerable кT[]

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

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