泛型类的扩展方法

时间:2010-02-18 22:10:05

标签: c# generics extension-methods

  

可能重复:
  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)
    {
        // ....
    }
}

4 个答案:

答案 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)
    {   
         //...
    }
}