小编imG*_*reg的帖子

动态Lambda表达式调用

我运行此代码时遇到此异常.

类型的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)

c# linq generics expression

6
推荐指数
1
解决办法
1316
查看次数

在整个控制器中调用任何操作时是否可以调用方法?

我想调用一个特定的方法来调用任何动作来做一些工作.我想知道这是否可能?我确实有一个所有控制器的基本控制器,但目前没有任何东西.

即如果我进入索引页面,当调用该方法时,会向控制器调用索引操作方法我想做一些工作然后继续操作.我试图避免在每个单独的动作中调用这个方法,看看是否有一种通用的方式在每个地方调用它.

c# asp.net-mvc

2
推荐指数
1
解决办法
181
查看次数

标签 统计

c# ×2

asp.net-mvc ×1

expression ×1

generics ×1

linq ×1