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. } } }