System.Runtime.Remoting.RemotingServices.CompareParameterList C# (CSharp) Method

CompareParameterList() private static method

private static CompareParameterList ( ArrayList params1, ParameterInfo params2 ) : bool
params1 System.Collections.ArrayList
params2 System.Reflection.ParameterInfo
return bool
        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
        
RemotingServices