1
public MyType<T,T1,T2>
{

}

私はする必要がありますExpression.New(typeof(MyType<,,>))

コンパイル時には、T、T1、T2 はわかりません。式 new はメソッド内にあります

Expression CreateExpression(Type t, Type t1)
{
     Type t2 = Lookup(t,t1);

     return Expression.New(typeof(MyType<t,t1,t2>), ...constructorparams...);
}

質問のために、例をできるだけ単純にしました。誰でもこれを行う方法を知っていますか?

4

1 に答える 1

1

私はこれができることがわかりました:

    var t = typeof(C1EntitySet<,,>);
    t.MakeGenericType(new Type[]{t,t1,t2});
于 2013-08-25T11:16:02.737 に答える