Пример #1
0
 /// <summary>
 /// Generates a <em>&lt;command:parameter&gt;</em> element for a single parameter.
 /// </summary>
 /// <param name="commentReader">Provides access to the XML Doc comments.</param>
 /// <param name="parameter">The parameter.</param>
 /// <param name="parameterSetName">The specific parameter set name, or <see cref="ParameterAttribute.AllParameterSets"/>.</param>
 /// <param name="reportWarning">Function used to log warnings.</param>
 /// <returns>A <em>&lt;command:parameter&gt;</em> element for the <paramref name="parameter"/>.</returns>
 private XElement GenerateParameterElement(ICommentReader commentReader, Parameter parameter, string parameterSetName, ReportWarning reportWarning)
 {
     var element = new XElement(commandNs + "parameter",
                         new XAttribute("required", parameter.IsRequired(parameterSetName)),
                         new XAttribute("globbing", parameter.SupportsGlobbing(parameterSetName)),
                         new XAttribute("pipelineInput", parameter.GetIsPipelineAttribute(parameterSetName)),
                         new XAttribute("position", parameter.GetPosition(parameterSetName)),
                         new XElement(mamlNs + "name", parameter.Name),
                         GenerateDescriptionElement(commentReader, parameter, reportWarning),
                         commentReader.GetParameterValueElement(parameter, reportWarning),
                         GenerateTypeElement(commentReader, parameter.ParameterType, true, reportWarning),
                         commentReader.GetParameterDefaultValueElement(parameter),
                         GetParameterEnumeratedValuesElement(parameter));
     var aliasNames = parameter.Aliases.ToList();
     if (aliasNames.Count > 0)
     {
         element.Add(new XAttribute("aliases", string.Join(",", aliasNames)));
     }
     return element;
 }
Пример #2
0
 /// <summary>
 /// Generates a <em>&lt;command:parameter&gt;</em> element for a single parameter.
 /// </summary>
 /// <param name="commentReader">Provides access to the XML Doc comments.</param>
 /// <param name="parameter">The parameter.</param>
 /// <param name="parameterSetName">The specific parameter set name, or <see cref="ParameterAttribute.AllParameterSets"/>.</param>
 /// <param name="reportWarning">Function used to log warnings.</param>
 /// <returns>A <em>&lt;command:parameter&gt;</em> element for the <paramref name="parameter"/>.</returns>
 private XElement GenerateParameterElement(ICommentReader commentReader, Parameter parameter, string parameterSetName, ReportWarning reportWarning)
 {
     return new XElement(commandNs + "parameter",
                         new XAttribute("required", parameter.IsRequired(parameterSetName)),
                         new XAttribute("globbing", parameter.SupportsGlobbing(parameterSetName)),
                         new XAttribute("pipelineInput", parameter.GetIsPipelineAttribute(parameterSetName)),
                         new XAttribute("position", parameter.GetPosition(parameterSetName)),
                         new XElement(mamlNs + "name", parameter.Name),
                         commentReader.GetParameterDescriptionElement(parameter, reportWarning),
                         commentReader.GetParameterValueElement(parameter, reportWarning),
                         GenerateTypeElement(commentReader, parameter.ParameterType, true, reportWarning),
                         commentReader.GetParameterDefaultValueElement(parameter));
 }