示例#1
0
        /// <summary>
        /// Retuns a list of member infos (summary, example, etc) for a member in the documentation file
        /// </summary>
        /// <param name="xmlMember"></param>
        /// <returns></returns>
        public List <DocumentationMemberInfo> GetInfosForMember(XmlNode xmlMember)
        {
            var infoPlugins = _pluginFinder.GetPlugins <DocumentationMemberInfoPluginAttribute, DocumentationMemberInfoPlugin>().ToList();
            var result      = new List <DocumentationMemberInfo>();

            foreach (XmlNode xmlMembeInfoNode in xmlMember.ChildNodes)
            {
                DocumentationMemberInfo infoPluginResult = null;
                foreach (var infoPlugin in infoPlugins)
                {
                    if (infoPluginResult == null)
                    {
                        infoPluginResult = infoPlugin.TryGetMemberInfo(xmlMembeInfoNode);
                    }
                }
                if (infoPluginResult == null)
                {
                    infoPluginResult = new DocumentationMemberInfoUnknown(xmlMembeInfoNode);
                }
                result.Add(infoPluginResult);
            }

            return(result);
        }
        /// <summary>
        /// Retuns a list of member infos (summary, example, etc) for a member in the documentation file
        /// </summary>
        /// <param name="xmlMember"></param>
        /// <returns></returns>
        public List<DocumentationMemberInfo> GetInfosForMember(XmlNode xmlMember)
        {
            var infoPlugins = _pluginFinder.GetPlugins<DocumentationMemberInfoPluginAttribute, DocumentationMemberInfoPlugin>().ToList();
            var result = new List<DocumentationMemberInfo>();

            foreach(XmlNode xmlMembeInfoNode in xmlMember.ChildNodes)
            {
                DocumentationMemberInfo infoPluginResult = null;
                foreach(var infoPlugin in infoPlugins)
                {
                    if (infoPluginResult == null)
                    {
                        infoPluginResult = infoPlugin.TryGetMemberInfo(xmlMembeInfoNode);
                    }
                }
                if(infoPluginResult == null)
                    infoPluginResult = new DocumentationMemberInfoUnknown(xmlMembeInfoNode);
                result.Add(infoPluginResult);
            }

            return result;
        }