Если в качестве примера мы предполагаем, что p1 - это int, а p2 - строка, то это:
var p1=Expression.Parameter(typeof(int),"i");
var p2=Expression.Parameter(typeof(string),"o");
var lambda=Expression.Lambda(p2,p1,p2);
var function=lambda.Compile() as Func<int,string,string>;
var result=function(10,"hello");
сгенерирует функцию, которая возвращает "o".Лямбда вернет значение в последнем выражении своего тела, которое в приведенном выше примере является просто параметром p2.