我有一个带有Generic Type的对象列表(List myGenericList),我知道泛型类型中有一个属性“Date”(类型为DateTime)。
我想得到最短的约会,如下: 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);
}
你有什么想法吗? 谢谢!
此致 LEONA
答案 0 :(得分:1)
将Expression<Func<T, DateTime>>
更改为Func<T, DateTime>
Min
的{{1}}功能(实际上List
)接受IEnumerable
而不是Func
。这是你得到的错误。
工作代码:
Expression