相关疑难解决方法(0)

在不使用GetMethods的情况下获取泛型方法

我想得到方法System.Linq.Queryable.OrderyBy<T, TKey>(the IQueryable<T> source, Expression<Func<T,TKey>> keySelector)方法,但我不断提出空值.

var type = typeof(T);
var propertyInfo = type.GetProperty(group.PropertyName);
var propertyType = propertyInfo.PropertyType;

var sorterType = typeof(Func<,>).MakeGenericType(type, propertyType);
var expressionType = typeof(Expression<>).MakeGenericType(sorterType);

var queryType = typeof(IQueryable<T>);

var orderBy = typeof(System.Linq.Queryable).GetMethod("OrderBy", new[] { queryType, expressionType }); /// is always null.
Run Code Online (Sandbox Code Playgroud)

有没有人有任何见解?我宁愿不循环GetMethods结果.

.net c# generics reflection

26
推荐指数
5
解决办法
1万
查看次数

如何在泛型方法调用中使用Type变量(C#)

我有一个t传递给方法的Type变量,我想在调用时将其用作通用参数IQueryable.Join,如下所示

queryResult.Join<Type1, Type2, t, Type3>( items, outerSelector, innerSelector, ( a, b) => a);
Run Code Online (Sandbox Code Playgroud)

它显然不起作用.t为了达到我的目的,我该怎么做?谢谢!

c# generics

1
推荐指数
1
解决办法
703
查看次数

标签 统计

c# ×2

generics ×2

.net ×1

reflection ×1