I am trying to write a method to return an instance of itself. The pseudo code is

Func<T,Func<T>> MyFunc<T>(T input)
{
    //do some work with input
    return MyFunc;
}

seems simple enough. But I am having problem defining the return type. The return type should be a delegate

 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

I am sure there was some subtle thing that I didn't notice. Can someone point it out for me? Thank you.

Edit
Report