如何从函数CodeElement2获取函数返回类型作为CodeClass2

时间:2014-02-27 20:51:12

标签: c# t4 envdte

在T4模板中使用EnvDTE我可以轻松地从类中获取所有方法。

更进一步,循环使用这些方法将返回类型作为CodeClass2(或简称为CodeElement2),我陷入困境。

((CodeFunction2)codeElement).Type.AsFullName;

此代码可以正常获取返回类型的全名,但如果我尝试这个;

((CodeFunction2)codeElement).Type as CodeClass2;

我每次都得到一个空值,即使返回AsFullName有效吗?

我最终需要循环函数返回类型对象的属性,但此时失败了。

1 个答案:

答案 0 :(得分:1)

查看文档CodeFunction2.Type会返回CodeTypeRef。

所以你应该可以使用:

((CodeFunction2)codeElement).Type.CodeType as CodeClass2;