Я не уверен, что вы пытаетесь достичь, но как интеллектуальное упражнение "могу ли я вернуть метод, который возвращает себя?" следующие работы:
object MyFunc<T>(T input)
{
Func<T, object> returnValue = MyFunc;
return returnValue;
}
Как вы говорите, вы не можете заставить метод возвращать Func
, поскольку это будет означать, что тип возвращаемого делегата должен быть Func
, который возвращает Func
, который возвращает Func
и т. Д ...
Единственный выход из этого бесконечного отклика, который я вижу, - заставить его вернуть object
вместо этого, что требует, чтобы вызывающая сторона приводила к правильному типу.
Редактировать: Ответ Porges лучше ...