4
在表達式樹中調用實例方法的最佳方式是什麼?我目前的解決方案是這樣的接口IColumn的接口方法「對象GetRowValue(rowIndex)」。在表達式樹中調用實例方法的最佳方法?
public static Expression CreateGetRowValueExpression(
IColumn column,
ParameterExpression rowIndex)
{
MethodInfo methodInfo = column.GetType().GetMethod(
"GetRowValue",
BindingFlags.Instance | BindingFlags.Public,
null,
CallingConventions.Any,
new[] { typeof(int) },
null);
var instance = Expression.Constant(column);
return Expression.Call(instance, methodInfo, rowIndex);
}
有沒有更快的方法?是否可以創建表達式而不必將方法名稱作爲字符串傳遞(對重構不利)?