Ejemplo n.º 1
0
        private bool CheckForExternalType(Type t, IGetTypes type)
        {
            try
            {
                var unownedTypes = type.Types().Where(x => !TypeIsDescribedInAssemblyOrSystemType(x)).ToList();

                if (unownedTypes.Any())
                {
                    m_Reporter.TypeNotApproved(t, type.Name, unownedTypes);
                    return(true);
                }
            }
            catch (Exception e)
            {
                m_Reporter.TypeCausedError(t, type.Name, e);
            }
            return(false);
        }
        /// <summary>
        /// 生成命名空间页面
        /// </summary>
        /// <param name="typeItems">命名空间中的所有类型</param>
        /// <param name="ns">命名空间包含信息(名称,页面文件名等)</param>
        protected override void CreateNamespacePage(IGetTypes typeItems, ContentTreeItem ns)
        {
            HtmlText content = new HtmlText();

            foreach (string category in typeItems.GetAllCategory())
            {
                string   title      = NameToTitleDictionary[category] as string;
                HtmlText secContent = new HtmlText();
                foreach (ContentTreeItem typeItem in typeItems.GetMembers(category))
                {
                    Type             type = typeItem.Info as Type;
                    MemberXmlElement data = DataProvider.GetMemberXmlNode(type);
                    string           summary;
                    summary = GetChildNodeInnerText(data, "summary");
                    if (string.IsNullOrEmpty(summary))
                    {
                        summary = "&nbsp;";
                    }
                    string strRow = tempTypeTable_Row.Render(
                        tempImg.Render(NameToTitleDictionary[category], category + ".png"),
                        typeItem.FileName,
                        HtmlText.HtmlFormat(typeItem.Name),
                        summary
                        );
                    secContent.AppendPre(strRow);
                }
                content.AppendPre(CreateTableSection(title, title, secContent.ToString()));
            }

            Hashtable values = new Hashtable();

            values["CollapseAll"] = Resources.strCollapseAll;
            values["ExpandAll"]   = Resources.strExpandAll;
            values["PIC"]         = Resources.strPic;
            values["Title"]       = HtmlText.HtmlFormat(ns.Name);
            values["Summary"]     = "";
            values["Content"]     = content.ToString();
            values["Encoding"]    = TargetEncoding.HeaderName;
            tempPage.SaveAs(HtmlFileDirectory + "\\" + ns.FileName, TargetEncoding, values);
        }
 /// <summary>
 /// 生成命名空间页面
 /// </summary>
 /// <param name="typeItems">命名空间中的所有类型</param>
 /// <param name="ns">命名空间包含信息(名称,页面文件名等)</param>
 protected abstract void CreateNamespacePage(IGetTypes typeItems, ContentTreeItem ns);