Вызов (params object []) с Выражение []

Я пытаюсь вызвать 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?

6
задан Timothy Baldridge 24 May 2011 в 22:01
поделиться