C# 根据字段名称取得对象的Lambda表达式

/// <summary>
/// 根据字段名称取得对象的Lambda表达式
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="column"></param>
/// <returns></returns>
public Expression<Func<T, object>> GetEntityLambda<T>(string column)
{
    // 创建一个表示输入参数的ParameterExpression
    var parameter = Expression.Parameter(typeof(T), "x");
    // 创建一个表示字段访问的MemberExpression
    var property = Expression.Property(parameter, column);
    // 创建Lambda表达式,参数为输入参数,主体为属性访问表达式
    var lambdaExpression = Expression.Lambda<Func<T, object>>(property, parameter);
    return lambdaExpression;
}

 

posted @ 2023-08-16 11:34  Mr_Xul  阅读(55)  评论(0编辑  收藏  举报