C# 在Visual Studio加载项中访问函数定义内的代码元素

C# 在Visual Studio加载项中访问函数定义内的代码元素,c#,visual-studio-addins,C#,Visual Studio Addins,我正在创建一个VisualStudio插件来分析代码。我正在使用EnvDTE.ProjectItem访问项目和其他项目项 我想列出类中的属性和方法。有什么方法可以访问类内的代码吗?有两种可能的方法: 首先,可以对已编译的程序集使用反射 或 您可以试试,这是一个代码分析器(用于C#,VB.Net)。这不仅有助于获取代码的属性,还可以方便地重构现有代码并创建新代码。一个很好的入侵视频 谢谢您的回复。我没有得到你的第一个选择??我可以在vs add-inWelcome中使用roslyn吗!如果有

我正在创建一个VisualStudio插件来分析代码。我正在使用
EnvDTE.ProjectItem
访问项目和其他项目项


我想列出类中的属性和方法。有什么方法可以访问类内的代码吗?

有两种可能的方法:

  • 首先,可以对已编译的程序集使用反射

  • 您可以试试,这是一个代码分析器(用于C#,VB.Net)。这不仅有助于获取代码的属性,还可以方便地重构现有代码并创建新代码。一个很好的入侵视频

谢谢您的回复。我没有得到你的第一个选择??我可以在vs add-inWelcome中使用roslyn吗!如果有目标代码的程序集,则可以通过反射搜索可用类、方法等的信息(但无法获得方法体的实现信息)。其次,在此基础上讨论了插件主题。我认为您也可以通过外接程序使用Roslyn,但它有严格的使用条款。AFAIK禁止发布任何代码示例。我想你可以使用它,但是有一些限制。有没有什么可以使用它?嗨,Richard,我可以访问名称空间、类和方法。但是我不能访问方法体。我没有使用Roslyn,我做的是通过名称空间和类循环,然后我可以访问类中的代码。听起来不错,但是,这似乎不能帮助您分析问题中的代码(您将要做艰苦的工作,但这当然取决于它有多困难)。Roslyn可以派上用场,因为您可以轻松创建语法树等,但无论如何祝您好运!我最近听说Roslyn及其代码可以免费使用,并且可以在上获得。