// Compiler options: -langversion:linq using System; public delegate TResult Func (TArg0 arg0); class Demo { static Y F (int a, X value, Func f1) { return f1 (value); } static int Main () { object o = F (1, "1:15:30", s => TimeSpan.Parse (s)); Console.WriteLine (o); return 0; } }