可能重复:
C# -Generic Extension Method
How do you write a C# Extension Method for a Generically Typed Class
是否可以为泛型类声明扩展方法?
public class NeedsExtension<T>
{
public NeedsExtension<T> DoSomething(T obj)
{
// ....
}
}
答案 0 :(得分:33)
扩展任何课程
public static class Extensions
{
public static T DoSomething<T>(this T obj)
{
//...
}
}
扩展特定的泛型类
public static NeedExtension<T> DoSomething<T>(this NeedExtension<T> obj)
{
//...
}
答案 1 :(得分:4)
是的,但您忘记了this
关键字。查看Queryable,它提供集合上的所有LINQ运算符。
答案 2 :(得分:1)
不确定
public static void SomeMethod<T>(this NeedsExtension<T> value) {
...
}
答案 3 :(得分:-1)
How do you write a C# Extension Method for a Generically Typed Cla SS
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)
{
//...
}
}