西西软件园多重安全检测下载网站、值得信赖的软件下载站!
软件
软件
文章
搜索

首页编程开发C#.NET → .NET文档生成工具ADB使用图文教程

.NET文档生成工具ADB使用图文教程

相关软件相关文章发表评论 来源:西西整理时间:2012/6/28 9:11:04字体大小:A-A+

作者:佚名点击:50次评论:0次标签: .NET

.NETv3.0 可再发行组件包
  • 类型:编程辅助大小:2.7M语言:中文 评分:1.8
  • 标签:
立即下载

ADB2.3使用指南

ADB2.3使用方法如下图所示:

(1)主界面:

(2)批量选择:

4.生成的文档

(1)命名空间页面:

2.类型页面:

3.成员页面:

 

5.开发自定义文档生成器

ADB2.3支持加载用户自定义的文档生成器,用户可根据自己的需求开发文档生成器,下面以开发自定义文档生成器MyBuilder为例,说明如何开发自定义文档生成器:

⑴目标:

开发一个自定义文档生成器,该文档生成器在ADB默认文档生成器基础上扩展以下功能:

a.在XML文档注释可以用插入图片;

b.在类型页面和成员页面中增加一个名称为“自定义节”的内容节。

⑵开发步骤

a.点击菜单 工具->生成自定义文档解决方案->扩展XML文档注释,在弹出的对话框中输入文档生成器名称

b.打开工程中的MyBuilder.cs文件,输入以下代码

using System;
using System.Collections.Generic;
using System.Text;
using ADB.Factories;
using Microsoft.VisualBasic.FileIO;

namespace CustomBuilder
{
    /// 
    /// MyBuilder
    /// 
    public class MyBuilder : ADB.Factories.MSDNStyleCHMDocumentBuilder
    {
        static PageSection[] _memberPageSections, _typePageSections;

        public MyBuilder(IGetData data, IInteract interact)
            : base(data, interact)
        {
            //base.MemberPageSections为页面原有的节,将自定义节插入到页面的最后
            _memberPageSections = new PageSection[base.MemberPageSections.Length + 1];
            base.MemberPageSections.CopyTo(_memberPageSections, 0);
            _memberPageSections[base.MemberPageSections.Length] = 
                new PageSection("自定义节", PageSectionType.FromXML, "CustomSection");

            //base.MemberPageSections为页面原有的节,将自定义节插入到页面的最后
            _typePageSections = new PageSection[base.TypePageSections.Length + 1];
            base.TypePageSections.CopyTo(_typePageSections, 0);
            _typePageSections[base.TypePageSections.Length] = 
                new PageSection("自定义节", PageSectionType.FromXML, "CustomSection");
        }

        //重写基类的MemberPageSections属性
        public override PageSection[] MemberPageSections
        {
            get
            {
                return _memberPageSections;
            }
        }

        //重写基类的TypePageSections属性
        public override PageSection[] TypePageSections
        {
            get
            {
                return _typePageSections;
            }
        }

        protected override string GetTag(System.Xml.XmlElement elem, string xmlFile)
        {
            switch (elem.Name)
            {
            case "CustomSection":
                {
                    //生成"自定义节"的内容
                    return GetInnerTags(elem, xmlFile);
                }
            case "image":
                {
                    StringBuilder tag = new StringBuilder();
                    string src = elem.GetAttribute("src");
                    if (!string.IsNullOrEmpty(src))
                    {
                        try
                        {
                            //将图片拷贝到生成页面的目录中
                            //(通过属性HtmlFileDirectory获取保存页面的目录)
                            FileSystem.CopyFile(
                                xmlFile + "\\" + src, 
                                HtmlFileDirectory + "\\" + src, 
                                true
                            );
                        }
                        finally
                        {
                        }
                        //生成HTML标志
                       tag.AppendFormat("<img src='{0}'/>", src);
                    }
                    return tag.ToString();
                }
            default:
                {
                    //其它标志由基类处理
                    return base.GetTag(elem, xmlFile);
                }
            }
        }
    }
}

c.点击调试按钮调试自定义文档生成器 

⑶测试

由于测试的类及其XML注释:

namespace ClassLibrary1
{
    /// 
    /// Class摘要
    /// 
    /// 
    /// 自定义的节
    /// 
<image src="1.gif"/>
/// public class Class1 { }}

用自定义文档生成器MyBuilder生成的文档

⑷让ADB启动时自动加载文档生成器

在ADB目录下新建目录MyBuilder,并将MyBuilder.dll和MyBuilder.builder拷贝到该文件夹中

ADB2.3支持的注释标记

    相关评论

    阅读本文后您有什么感想? 已有人给出评价!

    • 8 喜欢喜欢
    • 3 顶
    • 1 难过难过
    • 5 囧
    • 3 围观围观
    • 2 无聊无聊

    热门评论

    最新评论

    发表评论 查看所有评论(0)

    昵称:
    表情: 高兴 可 汗 我不要 害羞 好 下下下 送花 屎 亲亲
    字数: 0/500 (您的评论需要经过审核才能显示)