C#扩展泛型方法

时间:2013-07-11 15:01:20

标签: c# .net extension-methods generic-programming

美好的一天,

有没有办法扩展泛型方法? 例如

我有这样的方法:

public T DoSomethingAboutIt<T>()
{
//do magic
}

我想要的是扩展方法 如:

private static T Extended<T, L>(this T o, Func<T, L> func)
{
    return default(T);
}

这个扩展是否可行?

编辑: 我想称之为DoSomethingAboutIt()。扩展......

1 个答案:

答案 0 :(得分:0)

这是可能的,但你仍然必须遵守Extension Methods (MSDN)的规则。

此代码编译得很好......

internal class Program
{
    private static void Main(string[] args)
    {
        int y = 1;
        int z = y.Extended(n => "hi!");
    }
}

public static class X
{
    public static T Extended<T, L>(this T o, Func<T, L> func)
    {
        return default(T);
    }
}