Я пытаюсь вызвать 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)
и я пытаюсь передать выражение [].
Теперь я мог бы пройти через все трудности создания массива, заполнив его результатами своих выражений, но я действительно хочу, чтобы результат был примерно таким:
String.Format("({0}) {1}", input.foo, input.bar)
Как мне вызвать функцию params через выражения Linq?