我正在尝试从Linq.Expression树中调用String.Format。以下是一个快速示例:
然而问题在于String.Format的格式如下:
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的格式如下:
{0}
String.Format(string format, params object[] args)
我正在尝试传入Expression[]。
现在,我可以通过创建一个数组,将其填充为表达式的结果,但我真正想要的结果是这样的:
String.Format("({0}) {1}", input.foo, input.bar)
我该如何通过Linq表达式调用params函数?