获取表达式类型会导致 Roslyn
本文关键字:Roslyn 表达式 类型 获取 | 更新日期: 2023-09-27 18:36:19
如果我有一个表达式产生结果,比如说,new ClassA(),或者"somestring",或者其他什么,并且我有一个相应的ExpressionSyntax对象,我如何获得与表达式结果对应的INamedTypeSymbol对象?
许多教程都提到了 GetTypeInfo 方法,但我在从 NuGet 获得的最新 Roslyn 中找不到它。有什么东西可以取代它吗?
更新:不知何故,我有 Roslyn 的 1.0 版本。更新到 1.2 后,我找到了 GetTypeInfo 方法。
你需要构建语义模型,如下所示:
var semanticModel = document.GetSemanticModel(cancellationToken);
var typeInfo = semanticModel.GetTypeInfo(expression, cancellationToken);