FileGenerator.MagickScript.XsdGenerator.AddArguments C# (CSharp) Method

AddArguments() private method

private AddArguments ( System.Xml.Linq.XElement element, IEnumerable methods ) : void
element System.Xml.Linq.XElement
methods IEnumerable
return void
    private void AddArguments(XElement element, IEnumerable<MethodBase> methods)
    {
      string[] requiredParameters = (from method in methods
                                     from parameter in method.GetParameters()
                                     group parameter by parameter.Name into g
                                     where g.Count() == methods.Count()
                                     select g.Key).ToArray();

      ParameterInfo[] parameters = (from method in methods
                                    from parameter in method.GetParameters()
                                    orderby parameter.Name
                                    select parameter).DistinctBy(p => p.Name).ToArray();

      AddParameterElements(element, parameters, requiredParameters);
      AddParameterAttributes(element, parameters, requiredParameters);
    }