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

uni*_*uni 1 c# generics

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

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

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

Jon*_*eet 5

基本上你必须用反射调用方法:

  • 获取通用方法模板 Type.GetMethod
  • 调用MakeGenericMethod传递您的4种类型参数
  • 调用传入常规参数的方法

这很痛苦:(