Wei*_* Ma 14 c# generics lambda
我正在尝试编写一个方法来返回自己的实例.伪代码是
Func<T,Func<T>> MyFunc<T>(T input)
{
//do some work with input
return MyFunc;
}
Run Code Online (Sandbox Code Playgroud)
看起来很简单.但我在定义返回类型时遇到问题.返回类型应该是委托
which takes T as parameter, then returns a function
which takes T as parameter, then returns a function
which takes T as parameter, then returns a function
...recursive definition
Run Code Online (Sandbox Code Playgroud)
我确信有一些我没注意到的微妙之处.有人可以为我指出它吗?谢谢.
por*_*ges 15
你可以这样做:
delegate F<T> F<T>(T obj);
F<T> MyFunc<T>(T obj)
{
return MyFunc;
}
Run Code Online (Sandbox Code Playgroud)
但它几乎没用.你唯一能做的就是这样,这很奇怪:
void Main()
{
MyFunc(1)(2)(3)(4);
}
delegate F<T> F<T>(T obj);
F<T> MyFunc<T>(T obj)
{
Console.WriteLine(obj);
return MyFunc;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4860 次 |
| 最近记录: |