日期:2014-05-18  浏览次数:20871 次

VS2010能否生成 方法清单?
如题,因为本文自己写的一个程序,到现在有点乱,有时候知道自己写了这个方法,但是已经忘掉在哪个类里面了,想弄一个方法清单什么的出来,方便查阅和后期的维护,不知道是否可行? 或者是是否有扩展这样的扩展插件?



------解决方案--------------------
可以啊,做个VS AddIn 就能分析出来。

不用AddIn,通过反射也能分析整个工程。

还有就是利用比如 NDoc 这样的可以生成 Api 的帮助文档。
------解决方案--------------------
不是有个类视图吗,那可以看到每个类的方法,或者放射自己的工程,获得里面的各种信息,给你个参考
下面将一个dll中的类型,方法,属性等信息保存到c:\\mm.xml中 
C# code

using System.Linq;
using System.Xml.Linq;

string path = "c:\\mm.xml";
Assembly assembly = Assembly.LoadFile("c:\\JRJ.XTrend.Theme.dll");            
XElement root = new XElement("Types", assembly.GetTypes().Select(x => new XElement("Type",
    new XAttribute("Name",x.Name),
    new XElement("Methods",x.GetMethods().Select(m=>new XElement("Method",new XAttribute("Name",m.Name)))),
    new XElement("Properties", x.GetProperties().Select(p => new XElement("Property", new XAttribute("Name", p.Name)))),
    new XElement("Members", x.GetMembers().Select(p => new XElement("Member", new XAttribute("Name", p.Name)))),
    new XElement("Fields", x.GetFields().Select(p => new XElement("Fields", new XAttribute("Name", p.Name)))),
    new XElement("Events", x.GetEvents().Select(p => new XElement("Event", new XAttribute("Name", p.Name)))),
    new XElement("Interfaces", x.GetInterfaces().Select(p => new XElement("Interface", new XAttribute("Name", p.Name)))))));
root.Save(path);