private static bool CompareParameterList(ArrayList params1, ParameterInfo[] params2)
{
// params1 contains a list of parameters (and possibly some types which are
// assumed to be in parameters)
// param2 just contains the list of parameters from some method
if (params1.Count != params2.Length)
return false;
int co = 0;
foreach (Object obj in params1)
{
ParameterInfo param = params2[co];
ParameterInfo pi = obj as ParameterInfo;
if (null != pi)
{
if ((pi.ParameterType != param.ParameterType) ||
(pi.IsIn != param.IsIn) ||
(pi.IsOut != param.IsOut))
{
return false;
}
}
else
if (((Type)obj != param.ParameterType) && param.IsIn)
return false;
co++;
}
return true;
} // CompareParameterList