Я создаю динамическое выражение, которое упорядочит элементы в списке по некоторому правилу (лямбда-эксп.). Это код:
Expression<Func<String, String>> exp = o => o;
MethodCallExpression orderByExp = Expression.Call(typeof(Enumerable), "OrderBy",
new Type[] { typeof(String), exp.Body.Type }, Expression.Parameter(typeof(IEnumerable<String>), "list"), exp);
Теперь я хочу выполнить ранее созданное выражение для определенных данных, чтобы отсортировать его, но это не удается из-за некоторых странных исключений, таких как «Лямбда-параметр не в области» или «Аргументное выражение недопустимо».
var data = new String[] { "asdasdasd", "asdads", "123", "xcvxcvs", "ASDSD" };
// one of attempts: doesn't work
var result = data.AsQueryable().Provider.CreateQuery<String>(orderByExp);
Может ли кто-нибудь помочь мне с этим?