如何使用Type.GetMethod()来获取具有lambda参数的方法?我正在尝试使用以下方法获取类似Func的参数的Queryable.Any方法:
typeof(Queryable).GetMethod("Any", new Type[]{typeof(Func<ObjType, bool>)})
Run Code Online (Sandbox Code Playgroud)
但它一直返回null.
有四件事错了:
Queryable.Any-IQueryable<T>Func<ObjType, bool>是委托类型,而不是Expression<Func<ObjType, bool>>表达式树类型你要:
var generic = typeof(Queryable).GetMethods()
.Where(m => m.Name == "Any")
.Where(m => m.GetParameters().Length == 2)
.Single();
var constructed = generic.MakeGenericMethod(typeof(ObjType));
Run Code Online (Sandbox Code Playgroud)
那会给你相关的Any方法.目前尚不清楚你将采取什么措施.
| 归档时间: |
|
| 查看次数: |
1154 次 |
| 最近记录: |