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)
{
// ....
}
}
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)
{
//...
}
Yes, but you forgot the this
keyword. Look at Queryable that provides all the LINQ operators on collections.
Sure
public static void SomeMethod<T>(this NeedsExtension<T> value) {
...
}
How do you write a C# Extension Method for a Generically Typed Class
public static class NeedsExtension<T>
{
public static string DoSomething <T>(this MyType<T> v)
{ return ""; }
// OR
public static void DoSomething <T>(this MyType<T> v)
{
//...
}
}