2011-11-18 58 views
0

,如果我有這需要一個int[]作爲參數的方法,我想呼籲這個然後做我需要做下面的如何調用MethodInvoke - 反射

Object[] anArray = {100, 200, 300, 400, 500, 600, 700, 800, 900, 1000}; 
method.invoke(obj, anArray); 

它是那樣簡單method.invoke因爲我似乎越來越錯誤?

問候

+0

你能後的錯誤呢? –

+0

IllegalArgumentException的被用壞ARG列表拋出 – Biscuit128

+0

張貼您正在使用,以獲得「方法」 –

回答

5

Method.invoke有兩個參數。第一個是目標,obj,這是正確的。第二個是數組,表示您嘗試調用的實際方法的零個或多個參數(許多方法具有多個參數)。您的代碼應改爲:

method.invoke(obj, new Object[] { anArray }); 

這樣一來,你說。「調用此方法有一個參數,並且參數爲數組這是說,不同的‘調用此方法與10個參數’(一個陣列中的每個元素)。