Как мне вернуть функцию делегата или лямбда-выражение в C #?

Я пытаюсь написать метод, возвращающий экземпляр самого себя. Псевдокод

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

кажется достаточно простым. Но у меня возникла проблема с определением возвращаемого типа. Тип возврата должен быть делегатом

 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

. Я уверен, что была какая-то тонкость, которую я не заметил. Может кто-нибудь указать мне на это? Спасибо.

14
задан Wei Ma 28 April 2011 в 04:50
поделиться