Как создать LambdaExpression из строковых переменных, используя c# - PullRequest
0 голосов
/ 10 апреля 2020

У меня есть переменная string, которая содержит property имя class. Я хотел бы создать метод, который должен возвращать Expression<Func<T,Tkey>>, где T - это имя class, а TKey - это тип свойства, которое принадлежит T. Ниже приведен пример

public class Person 
{
    public int Age {get; set;}
    public String Name {get; set;}
}

Метод должен работать следующим образом:

var ageExp = ExpressionExtensions.GetExpression<Person>("age"); // expected Expression<Func<int>>
var nameExp = ExpressionExtensions.GetExpression<Person>("name"); // expected Expression<Func<string>>

Мне нужна помощь, чтобы написать следующий метод

public class ExpressionExtensions
{
     public static Expression<TDelegate> GetExpression<T>(string propName)
     {
          // conversion code
     }
}
...