我正在尝试通过VisualStudio的C#
COM分析EnvDTE
项目源代码。期望的任务是:
CodeClass
。 [完成] {get; set;}
属性。 [完成] 尝试将构造函数参数与公共属性相匹配。这一步依赖于一些假设:
应该是以下表格中的构造函数:
public ClassName(typeC paramC, TypeA paramA, typeB paramB...)
{
PropA = paramA;
PropC = paramC;
PropB = paramB;
...
}
PropA = paramA
之类的直接参数到属性的分配,不允许使用propA = paramB + paramC
。在理想世界中,我想识别哪个参数分配给哪个属性,而没有任何额外的假设或元数据添加到源类,如:
问题是:我们可以通过EnvDTE
分析所描述的构造函数体吗?
我已经有CodeFunction
个对象代表这个已识别的构造函数也作为他的CodeParameter
参数集合,但是我无法访问代码(不确定它是否可行,但是枚举成员vsCMElement.vsCMElementAssignmentStmt
给了我希望它可能......)
答案 0 :(得分:0)
看起来CodeFunction
(EnvDTE
)不支持访问方法体:-(除了纯文本) - :
Get all code statements code statements
Lack of code model support inside methods