I agree with Mohammad Rasheed.
I have also written my code similar to this:-
if (dictClass != null) { if(isList) { returnList = dictClass.callObject(_methodname, object,argsArray); } else { switch (argsArray.lastIndex()) { case 0: returnList = dictClass.callObject(_methodname, object); break; case 1: returnList = dictClass.callObject(_methodname, object, argsArray.value(1)); break; case 2: returnList = dictClass.callObject(_methodname, object, argsArray.value(1),argsArray.value(2)); break; case 3: returnList = dictClass.callObject(_methodname, object, argsArray.value(1),argsArray.value(2),argsArray.value(3)); break; case 4: returnList = dictClass.callObject(_methodname, object, argsArray.value(1),argsArray.value(2),argsArray.value(3),argsArray.value(4)); break; case 5: returnList = dictClass.callObject(_methodname, object, argsArray.value(1),argsArray.value(2),argsArray.value(3),argsArray.value(4),argsArray.value(5)); break; case 6: returnList = dictClass.callObject(_methodname, object, argsArray.value(1),argsArray.value(2),argsArray.value(3),argsArray.value(4),argsArray.value(5),argsArray.value(6)); break; case 7: returnList = dictClass.callObject(_methodname, object, argsArray.value(1),argsArray.value(2),argsArray.value(3),argsArray.value(4),argsArray.value(5),argsArray.value(6),argsArray.value(7)); break; case 8: returnList = dictClass.callObject(_methodname, object, argsArray.value(1),argsArray.value(2),argsArray.value(3),argsArray.value(4),argsArray.value(5),argsArray.value(6),argsArray.value(7),argsArray.value(8)); break; case 9: returnList = dictClass.callObject(_methodname, object, argsArray.value(1),argsArray.value(2),argsArray.value(3),argsArray.value(4),argsArray.value(5),argsArray.value(6),argsArray.value(7),argsArray.value(8),argsArray.value(9)); break; case 10: returnList = dictClass.callObject(_methodname, object, argsArray.value(1),argsArray.value(2),argsArray.value(3),argsArray.value(4),argsArray.value(5),argsArray.value(6),argsArray.value(7),argsArray.value(8),argsArray.value(9),argsArray.value(10)); break; default : throw error('Method does not support more than 10 parameter'); //... Continue this pattern for the number of parameters you need to support. } } }
Try this. It will solve your issue.
if (dictClass != null) { if(isList) { returnList = dictClass.callObject(_methodname, object,argsArray); } else { switch (argsArray.lastIndex()) { case 0: returnList = dictClass.callObject(_methodname, object); break; case 1: returnList = dictClass.callObject(_methodname, object, argsArray.value(1)); break; case 2: returnList = dictClass.callObject(_methodname, object, argsArray.value(1),argsArray.value(2)); break; case 3: returnList = dictClass.callObject(_methodname, object, argsArray.value(1),argsArray.value(2),argsArray.value(3)); break; case 4: returnList = dictClass.callObject(_methodname, object, argsArray.value(1),argsArray.value(2),argsArray.value(3),argsArray.value(4)); break; case 5: returnList = dictClass.callObject(_methodname, object, argsArray.value(1),argsArray.value(2),argsArray.value(3),argsArray.value(4),argsArray.value(5)); break; case 6: returnList = dictClass.callObject(_methodname, object, argsArray.value(1),argsArray.value(2),argsArray.value(3),argsArray.value(4),argsArray.value(5),argsArray.value(6)); break; case 7: returnList = dictClass.callObject(_methodname, object, argsArray.value(1),argsArray.value(2),argsArray.value(3),argsArray.value(4),argsArray.value(5),argsArray.value(6),argsArray.value(7)); break; case 8: returnList = dictClass.callObject(_methodname, object, argsArray.value(1),argsArray.value(2),argsArray.value(3),argsArray.value(4),argsArray.value(5),argsArray.value(6),argsArray.value(7),argsArray.value(8)); break; case 9: returnList = dictClass.callObject(_methodname, object, argsArray.value(1),argsArray.value(2),argsArray.value(3),argsArray.value(4),argsArray.value(5),argsArray.value(6),argsArray.value(7),argsArray.value(8),argsArray.value(9)); break; case 10: returnList = dictClass.callObject(_methodname, object, argsArray.value(1),argsArray.value(2),argsArray.value(3),argsArray.value(4),argsArray.value(5),argsArray.value(6),argsArray.value(7),argsArray.value(8),argsArray.value(9),argsArray.value(10)); break; default : throw error('Method does not support more than 10 parameter'); //... Continue this pattern for the number of parameters you need to support. } } }