我运行此代码时遇到此异常.
类型的ParameterExpression
System.Int64不能用于类型的委托参数System.Object
我知道这与Expression.Lambda<func<object,bool>>代码的一部分有关.总的来说,我想将任何类型的内容传递ParameterExpression给此方法,它将调用表达式.
public static IQueryable<T> OrderData<T>(IQueryable<T> data)
{
try
{
Order order = Order.ASC;
var result = Enum.TryParse<Order>(_gridSettings.SortOrder, true, out order);
if (_gridSettings.IsSearch)
{
data = ExpressionSort(order, data, typeof(T).GetProperty(_gridSettings.SortColumn));
}
else
{
data = ExpressionSort(order, data, _defaultColumn);
}
}
catch (Exception ex)
{
log.WriteLog(MethodBase.GetCurrentMethod(), LogLevel.FATAL, ex);
}
return data;
}
private static IQueryable<T> ExpressionSort<T>(Order order, IQueryable<T> data, PropertyInfo property)
{
// Compose the expression tree that represents the parameter to the predicate. …Run Code Online (Sandbox Code Playgroud) 我想调用一个特定的方法来调用任何动作来做一些工作.我想知道这是否可能?我确实有一个所有控制器的基本控制器,但目前没有任何东西.
即如果我进入索引页面,当调用该方法时,会向控制器调用索引操作方法我想做一些工作然后继续操作.我试图避免在每个单独的动作中调用这个方法,看看是否有一种通用的方式在每个地方调用它.