Вы определили константу, но вам также нужно определить другой параметр, чтобы вы могли присвоить ей Method
:
var method = typeof(Program).GetMethod("Method");
// here i want to set first parameter as "parameter1" when new method will be called
var param = Expression.Parameter(typeof(string));
var call = Expression.Call(method, Expression.Constant("parameter1"), param);
var lambda = Expression.Lambda<Func<string, string>>(call, param);
var adapter = lambda.Compile();
// and here i wanna pass only one agrument - second (parameter2)
var result = adapter("parameter2");
Конечно, я собираюсь предположить, что вы реально используете-дело для этого динамически.В противном случае вы могли бы просто написать:
Func<string, string> adapter = p => Method("parameter1", p);