0

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

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

2 回答 2

1

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

您需要添加引用:如何:添加对自动化命名空间的引用是一个很好的起点。

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

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

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

从那里开始,它变得有点复杂。ACodeElement没有评论属性。您可以使用CodeElement.Kind来查看您正在查看的特定类型的代码元素:CodeClassCodeFunction等...在确定正确的类型并对其进行转换后,您最终可以访问注释文本。为了浏览您的代码元素,请记住它们可以具有Children(例如,类中的属性)。

于 2013-01-23T10:38:21.653 回答
1

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

更多信息:C# 获取接口方法注释

于 2013-01-23T10:52:56.560 回答