.NET文档生成工具ADB使用图文教程
- 类型:编程辅助大小: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支持的注释标记
.NET文档生成工具ADB使用图文教程的更多相关文章
- .NET平台开源项目速览(4).NET文档生成工具ADB及使用
很久以前就使用ADB这个工具来生成项目的帮助文档.功能强大,在学习一些开源项目的过程中,官方没有提供CHM帮助文档,所以为了快速的了解项目结构和注释.就生成文档来自己看,非常好用.这也是一个学习方法吧 ...
- 【C#附源码】数据库文档生成工具支持(Excel+Html)
[2015] 很多时候,我们在生成数据库文档时,使用某些工具,可效果总不理想,不是内容不详细,就是表现效果一般般.很多还是word.html的.看着真是别扭.本人习惯用Excel,所以闲暇时,就简单的 ...
- 微软开源全新的文档生成工具DocFX
微软放弃Sandcastle有些年头了,微软最近开源了全新的文档生成工具DocFX,目前支持C#和VB,类似JSDoc或Sphinx,可以从源代码中提取注释生成文档之外,而且还有语法支持你加入其他的文 ...
- DBImport v3.44 中文版发布:数据库数据互导及文档生成工具(IT人员必备)
前言: 距离上一个版本V3.3版本的文章发布,已经是1年10个月前的事了. 其实版本一直在更新,但也没什么大的功能更新,总体比较稳定,所以也不怎么写文介绍了. 至于工作上的事,之前有半年时间跑去学英语 ...
- (转)Doxygen文档生成工具
http://blog.csdn.net/lostaway/article/details/6446786 Doxygen 是一个支持 C/C++,以及其它多种语言的跨平台文档生成工具.如同 Java ...
- Sandcastle----强大的C#文档生成工具
最近客户索要产品的二次开发类库文档,由于开发过程中并没有考虑过此类文档,而且项目规范比较,持续时间比较长,经手人比较多,还真是麻烦,如果人工制作文档需要是一个比较大的工程.还好有这个文档生成工具,能够 ...
- 使用Objective-C的文档生成工具:appledoc
使用Objective-C的文档生成工具:appledoc 前言 做项目的人多了,就需要文档了.今天开始尝试写一些项目文档.但是就源代码来说,文档最好和源码在一起,这样更新起来更加方便和顺手.象 Ja ...
- 使用Objective-C的文档生成工具
前言 做项目的人多了,就需要文档了.今天开始尝试写一些项目文档.但是就源代码来说,文档最好和源码在一起,这样更新起来更加方便和顺手.象Java语言本身就自带javadoc命令,可以从源码中抽取文档.今 ...
- 文档生成工具doxygen+图像生成工具GraphViz
文档生成工具doxygen+图像生成工具GraphViz 虽然jdk自带的javadoc也很好用,不过使用doxygen+GraphViz 的组合可以生成许多强大的图(类图.协作图.文件包含/被包含图 ...
随机推荐
- webstorage[html5的本地数据处理]
1.webStorage是什么? webStorage是html5中用于本地化存储的一种方式,而在之前呢我们是用cookie的存储方式处理; 2.那它们之间的区别是什么? Ⅰ.cookie存在的问题: ...
- 让 ListView 在 Android 可回弹
说明:让 ListView 在 Android 可回弹. 适用:Delphi XE5 修改:找出 FMX.Platform.Android.pas 档案,并复制到自己的 Project 路径里,找到 ...
- Java面试总结系列之Collections.sort()
面试中被问到,集合类中的排序方法是怎么实现的?没有回答上来,故而总结如下:你知道么? 前提:在eclipse中对于自己的代码可以通过按住Ctrl的同时单击名称跳入相应源码中.但eclipse默认没有添 ...
- Lua-泛型for循环 pairs和ipairs的区别
先看一段简单的代码: local mytable = { , , aa = "abc", subtable = {}, , } --for循环1 print("for - ...
- 关于HTML面试题汇总之visibility
一.页面可见性(visibility) 主要提供两个属性,一个事件(都在document对象上):1. 属性: 1.1. hidden:获取或设置当前页面的可见性,boolean值: 1.2 ...
- 基于 jQuery 实现的精致作品集图片导航效果
今天,我们要用 jQuery 来创建一个作品集图像的导航模板.我们的想法是,以分组的方式显示一组作品集,并通过二维的方式(水平/垂直)来浏览.任一箭头或当前图像下方的小盒子可以作为导航使用. 在线演示 ...
- 基于 jQuery 实现垂直滑动的手风琴效果
今天我们要与大家分享一个漂亮而灵活的垂直 jQuery 手风琴效果.其主要思想是扩大手风琴片上的点击和显示更多的信息.其他内容片段将变得不那么透明.当使用一个导航箭头导航下一个片段,新的片会从顶部或底 ...
- CodeIgniter_2 路由中定义伪静态 直接映射到相关的控制器
某些情况下 隐藏路径信息 使用伪静态定义: RewriteRule ^no/torrent(.*)$ /index.php/torrent/doit/$1 CodeIgniter会自动识别到 no 控 ...
- SAP ABAP将大数据量排序后输入到内表
要向内表读入3百50万条数据,如果一次读入就会产生运行错误,错误提示为,没有内存对于扩展 内表. 我考虑使用SELECT...INTO TABLE...PACKAGE SIZE 和ENDSELECT来 ...
- 转:jQuery.data
原文地址:http://www.it165.net/pro/html/201404/11922.html 内存泄露 首先看看什么是内存泄露,这里直接拿来Aaron中的这部分来说明什么是内存泄露,内存泄 ...