示例#1
0
 private void InsertDocumentation(SDMember sdMember, SDDocumentation documentation, int navigationLevel)
 {
     if (documentation != null)
     {
         if (documentation.Summary != null) _wordTemplater.AppendMarkdown(documentation.Summary.ToMarkdown(), "MemberBody");
         InsertDocumentationPart(_wordStrings.Remarks, documentation.Remarks);
         InsertDocumentationPart(_wordStrings.Returns, documentation.Returns);
         InsertParamDocumentationPart(_wordStrings.Params, documentation.Params, sdMember);
         InsertParamDocumentationPart(_wordStrings.TypeParams, documentation.TypeParams, sdMember);
         InsertParamDocumentationPart(_wordStrings.Exceptions, documentation.Exceptions, sdMember);
         InsertDocumentationPart(_wordStrings.Example, documentation.Example);
     }
 }
示例#2
0
        private SDDocumentation ParseDocumentation(IEnumerable<XmlDocumentationElement> docElements)
        {
            var sdDocumentation = new SDDocumentation();

            foreach (var child in docElements)
            {
                switch (child.Name.ToLower())
                {
                    case "typeparam":
                        var typeparamKey = child.GetAttribute("name") ?? "typeparam";
                        if (!sdDocumentation.TypeParams.ContainsKey(typeparamKey))
                            sdDocumentation.TypeParams.Add(typeparamKey, ParseContentTokens(child));
                        break;
                    case "param":
                        var paramKey = child.GetAttribute("name") ?? "param";
                        if (!sdDocumentation.Params.ContainsKey(paramKey))
                            sdDocumentation.Params.Add(paramKey, ParseContentTokens(child));
                        break;
                    case "exception":
                        var exKey = child.GetAttribute("cref") ?? "exception";
                        if (!sdDocumentation.Exceptions.ContainsKey(exKey))
                            sdDocumentation.Exceptions.Add(exKey, ParseContentTokens(child));
                        break;
                    case "summary":
                        sdDocumentation.Summary = ParseContentTokens(child);
                        break;
                    case "remarks":
                        sdDocumentation.Remarks = ParseContentTokens(child);
                        break;
                    case "example":
                        sdDocumentation.Example = ParseContentTokens(child);
                        break;
                    case "returns":
                        AddResultsSection(sdDocumentation.Returns, child);
                        break;
                    case "seealso":
                        sdDocumentation.SeeAlsos.Add(GetSeeRef(child));
                        break;
                }
            }

            return sdDocumentation;
        }
示例#3
0
        private SDDocumentation ParseDocumentation(IEnumerable<XElement> docElements, bool multilang = false)
        {
            var sdDocumentation = new SDDocumentation();

            foreach (var child in docElements)
            {
                switch (child.Name.LocalName.ToLower())
                {
                    case "typeparam":
                        var typeparamKey = child.Attribute("name")?.Value ?? "typeparam";
                        if (!sdDocumentation.TypeParams.ContainsKey(typeparamKey))
                            sdDocumentation.TypeParams.Add(typeparamKey, ParseContentTokens(child, multilang));
                        break;
                    case "param":
                        var paramKey = child.Attribute("name")?.Value ?? "param";
                        if (!sdDocumentation.Params.ContainsKey(paramKey))
                            sdDocumentation.Params.Add(paramKey, ParseContentTokens(child, multilang));
                        break;
                    case "exception":
                        var exKey = child.Attribute("cref")?.Value ?? "exception";
                        if (!sdDocumentation.Exceptions.ContainsKey(exKey))
                            sdDocumentation.Exceptions.Add(exKey, ParseContentTokens(child, multilang));
                        break;
                    case "summary":
                        sdDocumentation.Summary = ParseContentTokens(child, multilang);
                        break;
                    case "remarks":
                        sdDocumentation.Remarks = ParseContentTokens(child, multilang);
                        break;
                    case "example":
                        sdDocumentation.Example = ParseContentTokens(child, multilang);
                        break;
                    case "returns":
                        AddResultsSection(sdDocumentation.Returns, child, multilang);
                        break;
                    case "seealso":
                        var seeToken = new SDSeeToken(child.ToString());
                        _seeTokens.Add(seeToken);
                        sdDocumentation.SeeAlsos.Add(seeToken);
                        break;
                }
            }

            return sdDocumentation;
        }