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跳過(Int32)已包含泛型參數。
不能使該方法通用的,所以我可以調用method.MakeGenericType
如何我可以創建Expression.Call任何想法?
我也試過:
var f = Expression.Call(typeof(Y<>), "Skip", new Type[] { gt }, Expression.Constant(count));
這個時候,我得到:
無方法 '跳過' 存在於型 'X 1+Y
1 [T1,T2]'。
你可以把這個成爲一個工作的例子嗎? –