You can find out how to do this by writing the following code:
Expression<Func<int, int, int>> multiply =
(left, right) => left * right;
Compiling it down to an assembly and use a IL deassembler (such as Reflector) to look at the code the C# compiler produced.
With the given example, the C# compiler will generate something like this:
var left = Expression.Parameter(typeof(int), "left");
var right = Expression.Parameter(typeof(int), "right");
var multiply = Expression.Lambda<Func<int, int, int>>(
Expression.Multiply(left, right),
new ParameterExpression[] { left, right });
And this is exactly what you need to do to specify a multiply expression.
When placed in a generic method, it might look something like this:
public static Func<T, T, T> BuildMultiplier<T>()
{
var left = Expression.Parameter(typeof(T), "left");
var right = Expression.Parameter(typeof(T), "right");
var multiply = Expression.Lambda<Func<T, T, T>>(
Expression.Multiply(left, right),
new ParameterExpression[] { left, right });
return multiply.Compile();
}