我有这样的课:
public class SomeClass
{
public string Text1 { get; set; }
public string Text2 { get; set; }
public int Number { get; set; }
}
我有这些类对象的列表:
List<SomeClass> myList = new List<SomeClass>();
我想使用 LINQ(lambda 语法)查询这个列表:
var result = myList.Where(obj => obj.Text1 == "SomeString");
有什么方法可以传递属性(例如通过字符串名称),我希望通过它来执行这个 LINQ 查询?在此示例中,我按 Text1 属性进行搜索,但假设我想在 Text1 或 Text2(在运行时确定)上动态调用此搜索。我希望能够传递执行此搜索的属性名称,并检查此属性是否为字符串,以便我确定可以首先执行此搜索。
那可能吗?我知道 Reflections 和 Expressions 与它有关,但我不太了解它们。
谢谢