Hi, as others already noted, every second call to MethodCall(param1, param2, param3), I mean the ones after the question marks, is likely to return true, as you just have tested for true (that is what the question mark does). I say likely, it might be ugly code that creates or uses nasty side effects. If so, what follows needs some adjusting. it seems all your params have the same type, and all your someIntValues have different values, so I would suggest you: 1. stuff all the params in an array "paramsArray" 2. stuff all the someIntValues in an array "someIntValuesArray" 3. modify your MethodCall() to accept paramsArray and return an integer, being the first index in the paramsArray for which the original MethodCall() did return true; this basically means surrounding existing code with a for loop, adjusting the params (now array elements); also return a special value if no match found, say -1. 4. then simply do
int index=MethodCall(paramsArray);
if (index>=0) outcome=AnotherMethod(true, someIntValuesArray[index]);
:)
Luc Pattyn [My Articles] Nil Volentibus Arduum