Linq access property by variable

后端 未结 5 1148
谎友^
谎友^ 2020-12-03 18:24

Let\'s say I have a class like:

public class Foo
{
    public string Title {get;set;}
}

Now, let\'s assume I have a public List

5条回答
  •  渐次进展
    2020-12-03 18:52

    You can write an extension method

    public static class MyExtensions
    {
        public static object GetProperty(this T obj, string name) where T : class
        {
            Type t = typeof(T);
            return t.GetProperty(name).GetValue(obj, null);
        }
    }
    

    and use it like this

    var x = myList.Where(f => f.GetProperty("Title") == myValue);
    

提交回复
热议问题