相关疑难解决方法(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传递给泛型方法

我有类似的东西

Type MyType = Type.GetType(FromSomewhereElse);

var listS = context.GetList<MyType>().ToList();
Run Code Online (Sandbox Code Playgroud)

我希望在这种情况下获取MyType,并将其传递给Generic Type方法GetList

这是我得到的错误:

找不到类型或命名空间名称"MyType"(您是否缺少using指令或程序集引用?)

c# generics reflection

15
推荐指数
1
解决办法
2万
查看次数

标签 统计

c# ×2

generics ×2

reflection ×2

.net ×1