C#方便的生成函数字典

 下面介绍一个方式能够很快的生成对C#函数的注释转成XML文档,这样能够减少很多的函数说明文档的撰写时间,直接进去主题:

有个解决方案下有个XmlHelper.cs 对于XML的通用操作类,下面是部分代码

  1 /*************************************************************************************
2 * 代码:吴蒋
3 * 时间:2012.03.07
4 * 说明:XML操作类
5 * 其他:
6 * 修改人:
7 * 修改时间:
8 * 修改说明:
9 ************************************************************************************/
10 #region 引用空间
11 using System;
12 using System.Collections;
13 using System.Xml;
14 using System.Data;
15 using System.IO;
16 using System.Text;
17 using System.Collections.Generic;
18 #endregion
19
20 namespace Tools
21 {
22 #region XML操作类
23 /// <summary>
24 /// XML操作类
25 /// </summary>
26 public class XmlHelper
27 {
28 #region 构造函数
29 /// <summary>
30 /// 单例
31 /// </summary>
32 /// <returns>XmlHelper</returns>
33 public static XmlHelper Instance()
34 {
35 return new XmlHelper();
36 }
37 #endregion
38
39 #region 公共变量
40 /// <summary>
41 /// XML文档对象
42 /// </summary>
43 XmlDocument xmlDoc;
44 /// <summary>
45 /// XML文档节点
46 /// </summary>
47 XmlNode xmlNode;
48 /// <summary>
49 /// XML文档元素
50 /// </summary>
51 XmlElement xmlElem;
52 /// <summary>
53 /// XML节点列表
54 /// </summary>
55 XmlNodeList xmlNodeList;
56 #endregion
57
58 #region 分页获取主题配置Jason
59 /// <summary>
60 /// 分页获取主题配置Jason
61 /// </summary>
62 /// <param name="allCount">返回主题总数</param>
63 /// <param name="pageCount">返回主题页数</param>
64 /// <param name="pageSize">一页数量</param>
65 /// <param name="absolutePage">当前页</param>
66 /// <param name="filePath">配置文件路径</param>
67 /// <param name="docPath">节点路径</param>
68 /// <param name="atrList">属性列表</param>
69 /// <returns>返回Jason格式主题数据</returns>
70 public string SelectConfigListJason(out int allCount, out int pageCount, int pageSize, int absolutePage, string filePath, string docPath, List<string> atrList)
71 {
72 xmlDoc = new XmlDocument();
73 xmlDoc = this.Read(filePath);
74 xmlNodeList = xmlDoc.SelectNodes(docPath);
75
76 allCount = xmlNodeList.Count;
77 if (allCount % pageSize > 0)
78 {
79 pageCount = allCount / pageSize + 1;
80 }
81 else
82 {
83 pageCount = allCount / pageSize;
84 }
85
86 int start = pageSize * (absolutePage - 1);
87 int end = start + pageSize - 1;
88 if (allCount > 0)
89 {
90 StringBuilder sb = new StringBuilder();
91
92 XmlNode xmlNode = null;
93 for (int i = start; i <= end; i++)
94 {
95 xmlNode = xmlNodeList.Item(i);
96 sb.Append("{");
97 for (int a = 0; a < atrList.Count; a++)
98 {
99 if (atrList.Count - 1 == a)
100 {
101 sb.Append("\"" + atrList[a] + "\":" + "\"" + xmlNode.Attributes[atrList[a]].InnerText + "\"");
102 }
103 else
104 {
105 sb.Append("\"" + atrList[a] + "\":" + "\"" + xmlNode.Attributes[atrList[a]].InnerText + "\",");
106 }
107 }
108
109 if (i == end)
110 {
111 sb.Append("}");
112 }
113 else
114 {
115 sb.Append("},");
116 }
117 }
118 return sb.ToString();
119 }
120 else
121 {
122 return "";
123 }
124 }
125 #endregion
126
127 }

如果全部代码放出,会发现函数非常多,如果撰写函数说明文档会非常的费时间。所以我们让它们自动生成。

步骤1:点击开始->Microsoft Visual Studio 2008->Visual Studio Tools->Visual Studio 2008 命令提示

步骤2: 输入 csc /t:library /doc:想要输出的名字 cs文件路径  csc /t:library /doc:xmlHelp.xml C:\Users\Sunnes001\Desktop\生成函数字典\生成函数字典\生成函数字典\xmlHelp.cs

步骤3: 回车完成 然后在路径为C:\Program Files\Microsoft Visual Studio 9.0\VC 下就能找到生成的XML可以用浏览器直接打开。


 

posted @ 2012-03-29 14:15  吴蒋  阅读(1831)  评论(0编辑  收藏  举报