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


    .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支持的注释标记

  • 相关阅读:
    vlc的应用之三:动态调用vlc-0.9.4的libvlc.dll【转】
    Linux 下搭建流媒体服务器
    linux bash Shell特殊变量:Shell $0, $#, $*, $@, $?, $$和命令行参数
    lftp mirror 上传目录
    rxvt-unicode配置
    在命令行上 使用 mutt, fetchmail, maildrop, msmtp 收发邮件
    在命令行上 Ubuntu 下使用 mutt 和 msmtp 发送 Gmail 邮件
    git查看各个branch之间的关系图
    在Ubuntu Server是配置iptables防火墙
    Ubuntu 14.04 配置iptables防火墙
  • 原文地址:https://www.cnblogs.com/webenh/p/5725291.html
Copyright © 2020-2023  润新知