1
Может ли любое тело перевести следующий код C# в vb. Я пробовал конвертер кода telarik, но у меня проблема с expression.call, и он вообще не будет компилироваться.выражение linq в vb.net
private static IOrderedQueryable<T> OrderingHelper<T>(IQueryable<T> source, string propertyName, bool descending, bool anotherLevel)
{
ParameterExpression param = Expression.Parameter(typeof(T), string.Empty);
MemberExpression property = Expression.PropertyOrField(param, propertyName);
LambdaExpression sort = Expression.Lambda(property, param);
MethodCallExpression call = Expression.Call(
typeof(Queryable),
(!anotherLevel ? "OrderBy" : "ThenBy") + (descending ? "Descending" : string.Empty),
new[] { typeof(T), property.Type }, // error line
source.Expression,
Expression.Quote(sort));
return (IOrderedQueryable<T>)source.Provider.CreateQuery<T>(call);
}
благодаря Thurein
Привет, спасибо за ур ответ, но я все еще получил ошибку компиляции на этой линии "новый() {GetType (T), property.Type}," говоря что тип ожидается. – Thurein
Извините, сделал это без компилятора. Вот новая версия. –
VB 9: Новый тип() {GetType (T), [property] .Type}. VB 10: {GetType (T), [property] .Type} –