【发布时间】:2016-06-22 09:55:19
【问题描述】:
我有一个泛型类型的对象列表 (List myGenericList),并且我知道泛型类型中有一个属性“日期”(日期时间类型)。
我想获得最短日期,如下所示: myGenericList.Min(r=>r.Date);
这是我实现的,但下面的代码给出了错误:
- 'List<T>' does not contain a definition for 'Min' and the best
extension method overload 'Queryable.Min<T, DateTime>(IQueryable<T>,
Expression<Func<T, DateTime>>)' requires a receiver of type
'IQueryable<T>' myGenericList
代码:
internal DateTime GetMinimumDate()
{
Expression<Func<T, DateTime>> lambdaExpression = ConstructLambdaExpression();
return myGenericList.Min(lambdaExpression);
}
private Expression<Func<T, DateTime>> ConstructLambdaExpression()
{
//construct lambda expression: r => r.Date
var parameterExpression = Expression.Parameter(typeof(T));
var propertyOrFieldExpression = Expression.PropertyOrField(parameterExpression, "Date");
return Expression.Lambda<Func<T, DateTime>>(propertyOrFieldExpression,parameterExpression);
}
你有什么想法吗? 谢谢!
问候, 蕾欧娜
【问题讨论】: