如何使用roslyn获取隐式类型数组的类型?

时间:2016-06-06 13:33:36

标签: .net vb.net roslyn

想象一下下面的VB.NET代码:

Dim a
a = {1, 2}

如果我发现这种情况,我希望a成为强类型,即Dim a As Integer(){1, 2}本身是CollectionInitializerSyntax,我们可以参考initExpr

问题是 - 为什么我不能使用

获取initExpr的类型信息
model.GetTypeInfo(initExpr).Type

其中model是a = {1, 2}表达式所在的文档的语义模型。也可以使用语法树可视化工具查看问题,只需将光标放在初始化程序上,右键单击initExpr并选择“查看TypeSymbol”,它只显示空白页。

我认为必须有一种方法可以做到这一点,因为隐式类型数组的工作方式就像这样:

Dim a = {1, 2}

将光标放在Visual Studio中的a上会显示其类型为Integer()。所以底线是,如何在roslyn中获取initExpr

的类型信息

0 个答案:

没有答案