views:

76

answers:

4

Possible Duplicates:
C# -Generic Extension Method
How do you write a C# Extension Method for a Generically Typed Class

Is it possible to declare extension methods for generic classes?

public class NeedsExtension<T>
    {
        public NeedsExtension<T> DoSomething(T obj)
            {

            }
    }
A: 

How do you write a C# Extension Method for a Generically Typed Class

public class NeedsExtension<T>
    {
        public static string DoSomething <T>(this MyType<T> v)
        {   return ""; }

        // OR
        public static void DoSomething <T>(this MyType<T> v)
        {   }
    }
Asad Butt
A: 

Yes, but you forgot the this keyword. Look at Queryable that provides all the LINQ operators on collections.

Johannes Rudolph
A: 

Sure

public static void SomeMethod<T>(this NeedsExtension<T> value) {
  ...
}
JaredPar
A: 

To extend any class

public static class Extensions
    {
        public static T DoSomething<T>(this T obj)
            {

            }
    }

To extend a specific generic class

public static NeedExtension<T> DoSomething<T>(this NeedExtension<T> obj)
            {

            }
Stan R.