Comment Comment by jacabado You just can't do it implicitl because the compiler can't distinguish Func<string> from Expr<Func<string>>.But you can have a generic extension method that returns one of the types and then via inference you can do it implicitly typed.It shoud be something like this in C# 5: public static class Lamb { public static Func<T> da(this Func<T> f) { return f; } } and then: var egocentricFn = Lamb.da(() => "im a function"); I find it really useful not for Func's but for Expressions, as the type declarations can get pretty long. parent jacabado 11 years ago
But you can have a generic extension method that returns one of the types and then via inference you can do it implicitly typed.
It shoud be something like this in C# 5:
and then: I find it really useful not for Func's but for Expressions, as the type declarations can get pretty long.