Динамическое объявление Func

Подумайте об этом:

var propertyinfo = typeof(Customer).GetProperty(sortExpressionStr);
Type orderType = propertyinfo.PropertyType;

теперь я хочу объявить

Func<int,orderType>

Я знаю, что это невозможно напрямую, поскольку ordertype является во время выполнения, но есть ли обходной путь?

это именно то, что я хочу сделать:

var propertyinfo = typeof(T).GetProperty(sortExpressionStr);
Type orderType = propertyinfo.PropertyType;

var param = Expression.Parameter(typeof(T), "x");
var sortExpression = (Expression.Lambda<Func<T, orderType>>
   (Expression.Convert(Expression.Property(param, sortExpressionStr), typeof(orderType)), param));

все это, потому что я хочу преобразовать:

Expression<Func<T,object>> to Expression<Func<T,orderType>>

или, если это невозможно, я хочу создать его с самого начала с правильным типом случай выглядит следующим образом:

Я нахожусь внутри метода, который имеет тип (Клиент) и имя свойства этого типа. Я хочу упорядочить по нему, я хочу создайте дерево выражений сортировки, чтобы передать его Orderby (здесь).

6
задан nawfal 27 April 2013 в 12:27
поделиться