where语句中的LINQ动态字段
本文关键字:动态 字段 LINQ 语句 where | 更新日期: 2023-09-27 18:15:55
如何在where语句中使用动态字段名?
示例:我可以使用
MyList.Where(x => x.Name == "MyName");
可是这样怎么用呢?
string MyField = "Name";
MyList.Where(x => MyField == "MyName");
您可以使用System.Reflection
中的PropertyInfo
并使用其GetValue()
方法:)
PropertyInfo inf = typeof(YourClass).GetProperty("PropertyName");
MyList.Where(x => inf.GetValue(x) == "MyName");
要使其工作,当然变量Name
应该是Property
,如下所示:
public string Name { get; set; }
希望有帮助