如何获得方法的摘要?

时间:2013-01-23 10:33:18

标签: .net

是否有可能以某种方式获取.NET摘要数据?

 /// <summary>
 /// I need to get it programatically
 /// </summary>
 private void MethodA()
 {
 }

2 个答案:

答案 0 :(得分:1)

使用EnvDTE命名空间获取当前代码元素,然后您可以访问CommentDocComment属性。

您需要添加引用:How to: Add References to Automation Namespaces是一个很好的起点。

然后您需要访问EnvDTE对象:How to: Get References to the DTE and DTE2 Objects

从那里取决于代码的位置。通过EnvDTE,您必须找到它声明的项目项,浏览到它,然后访问注释属性。

您可以通过DTE对象上的ActiveDocument属性获取当前文档,该属性将返回Document。如果Document是项目的一部分,您可以抓取ProjectItem,然后访问CodeElements集合。

从那里它变得有点复杂。 CodeElement没有评论属性。您可以使用CodeElement.Kind查看您正在查看的特定类型的代码元素:CodeClassCodeFunction等...在确定了正确的类型并投射到它之后,您最终可以访问评论文本。要浏览代码元素,请记住它们可以有Children(例如,类中的属性)。

答案 1 :(得分:1)

您还可以将文档解压缩到xml文件,然后对该文件使用常规xml解析。

更多信息:C# getting interface method comments