using System; using System.Linq; using System.Linq.Expressions; public class Test { private static Expression> Unbox(Expression> original) { return Expression.Lambda>( Expression.Convert(original.Body, typeof(TResult)) , original.Parameters ); } public static void Main() { Expression> f1 = i => i*i; Expression> f2 = Unbox(f1); Func f = f2.Compile(); Console.WriteLine("Result 2 times 2 is {0}", f(2)); } }