Beispiel #1
0
        /// <summary>
        /// Parses an entire assembly
        /// </summary>
        /// <returns></returns>
        public DocTopic ParseAssembly(string assemblyFile, DocTopic parentTopic, bool parseXmlDocs = true)
        {
            var parser = new Westwind.TypeImporter.TypeParser()
            {
                ParseXmlDocumentation = parseXmlDocs,
                NoInheritedMembers    = NoInheritedMembers,
                ClassesToImport       = ClassesToImport
            };

            var topics = new List <DocTopic>();

            var types = parser.GetAllTypes(assemblyFile);

            if (types == null || types.Count < 1)
            {
                return(null);
            }

            try
            {
                foreach (var type in types)
                {
                    var topic = ParseClass(type, parentTopic);
                    topic.Parent = parentTopic;
                    topics.Add(topic);
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }

            if (parentTopic == null)
            {
                parentTopic = new DocTopic();
            }

            parentTopic.Topics = new System.Collections.ObjectModel.ObservableCollection <DocTopic>(topics);

            return(parentTopic);
        }