目前我正在嘗試使用MethodCallExpressions爲When,Select和GroupBy創建表達式樹。我開始於this manual on MSDN和StackOverflow上的幾篇文章。這給了我們很好的入門例子。爲了能夠寫我自己的表達式樹,沒有例子,我覺得有必要了解與參數Expression.Call方法如下:製作表達式樹時,Expression.Call方法的typeArguments參數是什麼?
public static MethodCallExpression Call(
Expression instance,
string methodName,
Type[] typeArguments,
params Expression[] arguments
)
第三個參數是described by Microsoft這樣的:
一個Type對象數組,用於指定泛型方法的類型參數。當methodName指定非泛型方法時,此參數應爲null。
這聽起來相當普遍,我不知道如何定義我應該通過我的Expression.Call方法調用哪些類型。
誰能幫我解釋一下typeArguments參數的一般說明?提前致謝。
感謝您的幫助。我是否理解這是正確的,例如,在調用[Groupby]時傳遞源和鍵的類型(http://msdn.microsoft.com/en-us/library/system.linq.enumerable.groupby(v = vs.110).aspx)方法與Expression.Call? –
@JorritSteetskamp這是正確的。您需要按順序傳遞與「TSource」和「TKey」類型對應的類型數組。 –