私は持っている:
class X<t1>
{
class Y<t2>
{
public Y<t2> Skip(int count)
{
var mi = (MethodInfo)MethodBase.GetCurrentMethod();
var f = Expression.Call(null, mi,Expression.Constant(count));
var x = this.Provider.CreateQuery(f);
return something_else;
}
}
}
Y`1 Skip(Int32) にはジェネリック パラメータが含まれています。
メソッドをジェネリックにできないため、method.MakeGenericType を呼び出すことができます
Expression.Call を作成する方法について何か考えはありますか?
私も試しました:
var f = Expression.Call(typeof(Y<>), "Skip", new Type[] { gt }, Expression.Constant(count));
今回私は得る:
1+Y
タイプ 'X 1[t1,t2]'にメソッド 'Skip' が存在しません。