是否有可能以某种方式获取 .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# 获取接口方法注释