Я пытаюсь вызвать String.Format из дерева Linq.Expression. Вот быстрый пример:
var format = Expression.Constant("({0}) {1}");
var company = Expression.Property(input, membernames.First());
var project = Expression.Property(input, membernames.Last());
var args = new Expression[] {format, company, project};
var invoke = Expression.Call(method,args);
Однако проблема в том, что String.Format имеет подпись:
String.Format(string format, params object[] args)
, и я пытаюсь передать Expression [].
Теперь я могу пройти через все проблемы создания массива, заполнения его результатами моих выражений, но то, что мне действительно нужно, результат будет примерно таким:
String.Format("({0}) {1}", input.foo, input.bar)
Как мне вызвать функцию params через выражения Linq?