1

この関数MethodInfo.MakeGenericMethodでは、型パラメーターに対応する型の配列を渡す必要があります。私は、型シグネチャが自明ではなく、実行時までわからないシナリオにいます。関数への引数の型しかありません。

たとえば、関数のシグネチャは次のとおりです。

static IArray<U> Map<T, U>(IArray<T> xs, Func<T, U> fxn) { ... }

実行時にのみ認識される型 t1 (IArray など) と t2 (Func など) の 2 つの引数があります。たとえば、t1 と t2 から T と U を計算するために、実行時に C# の型推論アルゴリズムを活用したいと考えています。

MethodInfo MakeGenericMethodUsingInference(MethodInfo mi, Type t1, Type t2) {
   var typeArg1 = ??;
   var typeArg2 = ??;
   return mi.MakeGenericMethod(typeArg1, typeArg2);
}
4

1 に答える 1