如何使用Roslyn获取数组中的元素种类

时间:2017-03-25 06:56:49

标签: vb.net roslyn roslyn-code-analysis

我正在尝试使用Roslyn获取迭代的Type。我可以使用

将对象定义为String()
klass

在Visual Studio调试器中我可以查看expressionType.ElementType并找出它是一个String。但是当我尝试在代码中访问ElementType时,我得到一个错误,说ElementType不是ITypeSymbol的成员。

1 个答案:

答案 0 :(得分:1)

如果您知道expressionType将成为数组,则可以将其强制转换为IArrayTypeSymbol。之后,您将能够访问其ElementType

Dim expressionType = DirectCast(elementTypeInfo.Type, IArrayTypeSymbol)
Dim elementType As ITypeSymbol = expressionType.ElementType