鉴于此代码:
public class PaginationModel<T> : BaseModel
{
public List<T> Rows { get; set; }
public PagingInfo PagingInfo { get; set; }
public void AddColumn<TProp>(Expression<Func<T, TProp>> column)
{
}
}
我希望能够使用代码
leadListOutputModel.AddColumn(x => x.DateCreated);
然后在我的 MVC 视图中循环通过列集合并针对对象调用表达式,但是因为 TProp 是在方法调用中推断出来的,它似乎不能存储为通用字段,例如
private List<Expression<Func<T, TProp>>> columns = new List<Expression<Func<T, TProp>>>();
任何人都可以在不使用对象或失去一般好处的情况下想出一种解决方法吗?
- - 编辑
我正在尝试做两件事,
首先,我将一个“SortBy”参数传递给我的控制器,它采用字符串属性的名称,当前通过 ((MemberExpression)expression).Member.Name 提取,其次我想使用Func 在我的 MVC 视图中提取该字段的值。
原因是我正在制作一个分页网格,我希望在控制器中使用很好的语法来配置列,例如我给出的 AddColumn 示例。我想查看列以创建标题行,然后在我的模型集合中循环遍历这些列并针对它们调用 Func 以提取值。