IEnumerable <XmlNodeSyntax> GetParamsNodes() { if (Documentable.Parameters == null) { yield break; } foreach (Parameter parameter in Documentable.Parameters.Where(p => p.Docs != null)) { string text = string.Join(Environment.NewLine, GetParamTextLines(parameter)); if (!string.IsNullOrEmpty(text)) { yield return(SF.XmlText(" ").WithLeadingTrivia(SF.DocumentationCommentExterior(" "))); yield return(SF.XmlParamElement(_symbols.GetName(parameter), GetXmlNodes(text).ToArray())); } } IEnumerable <string> GetParamTextLines(Parameter parameter) { if (!String.IsNullOrEmpty(parameter.Docs.Summary)) { yield return(parameter.Docs.Summary); } } }
IEnumerable <XmlNodeSyntax> GetParamsNodes() { if (Documentable.Parameters == null) { yield break; } foreach (Parameter parameter in Documentable.Parameters.Where(p => p.Docs != null)) { string text = string.Join(Environment.NewLine, GetParamTextLines(parameter)); if (!string.IsNullOrEmpty(text)) { yield return(SF.XmlText(" ").WithLeadingTrivia(SF.DocumentationCommentExterior(" "))); yield return(SF.XmlParamElement(_symbols.GetName(parameter), GetXmlNodes(text).ToArray())); } } IEnumerable <string> GetParamTextLines(Parameter parameter) { foreach (KeyValuePair <string, string> kvp in parameter.Docs) { if (kvp.Key == "param") { continue; } if (kvp.Key == "comment") { yield return(kvp.Value); } else { yield return($"{kvp.Key}: {kvp.Value}"); } } } }