EnvDTE解析函数代码[更长]

我想通过VisualStudio的EnvDTE COM分析C#项目源代码。期望的任务是:EnvDTE解析函数代码[更长]

  1. 在项目结构中找到具有给定名称的CodeClass。 [完成]
  2. 查找其所有公开{get; set;}属性。 [完成]
  3. 找到其公共构造函数(具有与找到的属性的数量匹配的参数数量的构造函数)。 [完成]
  4. 尝试将构造函数参数与公共属性相匹配。这一步依赖于一些假设:

    • 应该是在类以下目前的形式构造:

      public ClassName(typeC paramC, TypeA paramA, typeB paramB...) 

      {

      PropA = paramA;

      PropC = paramC;

      PropB = paramB;

      ...

      }

    • 应该是唯一直接参数对财产的分配状PropA = paramA,没有什么像propA = paramB + paramC被允许。

在理想的世界里,我愿承认其参数被分配到哪个属性不添加到源类像任何额外的假设或元数据:

  • 没有为参数的任何规则订购。
  • 分配顺序有任何规则。
  • 参数/属性命名约定有任何规则。
  • 对于与属性关联的其他属性有任何规则。

的问题是:我们可以通过EnvDTE分析所描述的构造体?

我已经有代表该标识构造函数也作为他的CodeParameter参数集合CodeFunction对象,但我不能够到达的代码(不知道它甚至有可能,但枚举成员vsCMElement.vsCMElementAssignmentStmt带给我希望,它可以是)......

回答:

看起来,该CodeFunctionEnvDTE)不支持访问方法体:-(除了纯文本) - :

Get all code statements code statements
Lack of code model support inside methods

以上是 EnvDTE解析函数代码[更长] 的全部内容, 来源链接: utcz.com/qa/264680.html

回到顶部