在LINQ中使用PropertyInfo对象查询集合
我有一个像这样的签名的方法
void RefreshMethod<T>(IEnumerable<T> lst, string propertyName) where T:class
{
Type type = typeof(T);
PropertyInfo property = type.GetProperties().Single(u => u.Name == primaryKeyProperty);
//query goes here
}
现在我想查询该集合以获取其所有值
propertyName <0
在一个简单的情况下,它将如此简单
lst.where(u=>u.ID<0)
但是在这里我没有这个ID属性,但有相应的“PropertyInfo”对象。
我应该如何实现这一目标。
请亲切指导
您可以使用property.GetValue(anObjectOfTypeT, null)
查找属性值。
所以像这样:
var refreshedList = lst.Where(l => ((int)(property.GetValue(l, null)) < 0).ToList();
这假设该属性将始终为int类型。
链接地址: http://www.djcxy.com/p/34227.html