using System; using System.Linq.Expressions; class M { public static void Foo (Expression> x) { } static string Param (string b) { Expression>>> e = (string s) => () => b; return e.Compile () ("-##54!2").Compile () (); } public static int Main () { Foo ((i) => i); Foo ((int i) => i); Expression> func = (i) => i; Foo (func); if (Param ("my test") != "my test") return 1; return 0; } }