So I have a delegate which points to some function which I don\'t actually know about when I first create the delegate object. The object is set to
I think what you want to do is use the Target and Method properties of the delegate to pass to create a Call expression. Building on JulianR's sample, this is what it would look like:
Action func = i => Console.WriteLine(i * i);
var callExpr = Expression.Call(Expression.Constant(func.Target), func.Method, Expression.Constant(5));
var lambdaExpr = Expression.Lambda(callExpr);
var fn = lambdaExpr.Compile();
fn(); // Prints 25