Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#扩展泛型方法_C#_.net_Extension Methods_Generic Programming - Fatal编程技术网

C#扩展泛型方法

C#扩展泛型方法,c#,.net,extension-methods,generic-programming,C#,.net,Extension Methods,Generic Programming,你好 有没有扩展泛型方法的方法? 比如说 我有这样的方法: public T DoSomethingAboutIt<T>() { //do magic } public T dosomethingabutit() { //变魔术 } 我想要的是有一个扩展的方法 例如: private static T Extended(此T o,Func Func) { 返回默认值(T); } 可以延期吗 编辑: 我想这样称呼它DoSomethingAboutIt()。扩展…这是可能的,但你仍

你好

有没有扩展泛型方法的方法? 比如说

我有这样的方法:

public T DoSomethingAboutIt<T>()
{
//do magic
}
public T dosomethingabutit()
{
//变魔术
}
我想要的是有一个扩展的方法 例如:

private static T Extended(此T o,Func Func)
{
返回默认值(T);
}
可以延期吗

编辑:
我想这样称呼它DoSomethingAboutIt()。扩展…

这是可能的,但你仍然必须遵循的规则

这段代码编译得很好

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);
    }
}
内部类程序
{
私有静态void Main(字符串[]args)
{
int y=1;
intz=y.Extended(n=>“hi!”);
}
}
公共静态类X
{
公共静态T扩展(此T o,Func Func)
{
返回默认值(T);
}
}

当然,这是可能的。你有什么问题?真的不知道你在问什么。我认为这是可能的。你有没有试过,结果出错了?我试过了,当然,就是不起作用。我想知道怎么做。你能把我引向一个可以开始的地方吗?是的,这确实有效,谢谢。我想我已经累了…我的感激之情
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);
    }
}