Alex Rivera | Logout

How to create a generic extension method?

Asked 2009-12-01T12:39:36.100
91

I want to develop a Generic Extension Method which should arrange the string in alphabetical then by lengthwise ascending order.

I mean

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

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

What is the way to develop Generic Extension Method?

I tried :

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

I received :

Error 1: T does not contain definition for Length

Error 2: can not convert System.Linq.IOrderedEnumerable to T[].

Edit
Report

1 Answer

2

I want to develop a Generic Extension Method which should arrange the strings in alphabetical then ...

public static class ExtensionOperation
{
    public static IEnumerable<String> AplhaLengthWise(
                                   this IEnumerable<String> names)
    {
        return names.OrderBy(a => a.Length).ThenBy(a => a);
    }
}
answered 2009-12-01T12:46:27.070

Your Answer