Tag: roslyn

SemanticModel.GetSymbolInfo(typeSyntax)返回null

我在解决Roslyn中的某些类型时遇到问题。 大多数时候它按预期工作但在某些情况下,在某些文件中,某些类型无法解决。 这是我用来处理类型的代码: private string GetTypeName(TypeSyntax type) { var si = _model.GetSymbolInfo(type); var s = si.Symbol; if (s == null) { var ti = _model.GetTypeInfo(type); if (ti.Type?.Kind == SymbolKind.ErrorType) { return "**error type**"; } return "**unknown type**"; } return GetTypeNameFromSymbol(s as ITypeSymbol); } 我从各种不同的表达式和声明中传递一个TypeSyntax。 它似乎是每个文件和每个类型的失败。 在某些文档中,它不能将Task解析为类型,而在某些文档中,它不能解析不同的异常类型。 我无法创建一个再现这一点的小例子。 我在C#中使用上面的代码给Kotlin编译器: https : //github.com/rogeralsing/ProjectExodus 在某些情况下,我最终在“ 错误类型 ”分支。 而在一些“ […]