110,535
社区成员
发帖
与我相关
我的任务
分享
public static dynamic ToTableList<T>(this IEnumerable<T> tableData)
{
string key ="sss";
IEnumerable<Subject> d = null;
var temp = d.Where(su => su.Name.Contains(key)); //想用反射写出这个
tableData.Where(Reflection=>Reflection.GetType(). //这里没有属性如何处理呢?想达到上面Contains查询
List<T> listFiltered = new List<T>();
listFiltered.AddRange(tableData.Where(re => re.GetType().GetProperty("Name").GetValue(re).ToString().Contains(key)));
没有少打,只是复制复少了。
是属性。查询出来就是没有值。是不是 lambda 不支持反射呢?
tableData.Where(su=> GetType().GetProperty("Name").GetValue(su).ToString().Contains(key))
//这样写查询不到任何值。
su.GetType().GetProperty("Name").GetValue(su).ToString().Contains(key)
var temp =typeof(T).GetProperty("Name").GetValue(//这样没法试re呀
var temp1 =tableData.Where(re=>re.GetType().GetProperty("Name").GetValue(re) != null); //这样是有数据的
var temp2 =tableData.Where(re=>re.GetType().GetProperty("Name").GetValue(re).ToString().Contains(key)); //这样就没数据
key查询的关键词集合里面是存在有这样的关键词数据的。