是否有可能以某种方式获取 .NET 摘要数据?
/// <summary>
/// I need to get it programatically
/// </summary>
private void MethodA()
{
}
是否有可能以某种方式获取 .NET 摘要数据?
/// <summary>
/// I need to get it programatically
/// </summary>
private void MethodA()
{
}
使用EnvDTE
命名空间获取当前代码元素,然后可以访问Comment
和DocComment
属性。
您需要添加引用:如何:添加对自动化命名空间的引用是一个很好的起点。
然后您需要访问该EnvDTE
对象:How to: Get References to the DTE and DTE2 Objects。
从那里开始,这取决于您的代码所在的位置。通过EnvDTE
您必须找到它声明的项目项,浏览到它,然后访问注释属性。
ActiveDocument
您可以通过对象上的属性获取当前文档,该属性DTE
将返回一个Document
. 如果Document
是项目的一部分,您可以获取ProjectItem
,并通过那里访问CodeElements
集合。
从那里开始,它变得有点复杂。ACodeElement
没有评论属性。您可以使用CodeElement.Kind
来查看您正在查看的特定类型的代码元素:CodeClass
、CodeFunction
等...在确定正确的类型并对其进行转换后,您最终可以访问注释文本。为了浏览您的代码元素,请记住它们可以具有Children
(例如,类中的属性)。
您还可以将文档提取到 xml 文件中,然后对该文件使用常规 xml 解析。
更多信息:C# 获取接口方法注释