コード例 #1
0
        private static Func <T, object> CreatePropertySelector <T>(string column, IEnumerable <string>?extraAllowedColumns)
        {
            var parameter = Expression.Parameter(typeof(T), "x");
            var selector  = Expression.PropertyOrField(parameter, column);

            LinqHelpers.CheckTargetColumn(column, extraAllowedColumns, selector);

            var cast = Expression.Convert(selector, typeof(object));

            return((Func <T, object>)Expression.Lambda(cast, parameter).Compile());
        }