【发布时间】:2023-04-03 02:54:01
【问题描述】:
这听起来可能很愚蠢,但我无法获得Queryable.Join(...) 的MethodInfo。我想得到它是因为How to use a Type variable in a generic method call (C#)
它有 2 个可用的方法签名,我想得到一个没有 IEqualityComparer,所以我需要在 GetMethod 中指定 Type[]。
我写了类似的东西
MethodInfo joinMethod = typeof( Queryable ).GetMethod( "Join", new Type[] { typeof(IEnumerable<>), typeof(Expression<Func<>>), typeof(Expression<Func<>>), typeof(Expression<Func<>>)});
但它不起作用。我无法在上面的泛型中指定类型,因为它们是从外部作为Type 传递的(这就是我需要这种反射的原因)。
谁能告诉我怎么做?谢谢!
【问题讨论】:
-
记住
Queryable.Join是一个扩展方法,所以方法的第一个参数是this IQueryable<TOuter>。此外,this 的问题非常相似。 -
哦,是的!谢谢。我去看看。
标签: c# generics reflection iqueryable