gpt4 book ai didi

c# - 查找 ISymbol 的 SyntaxNode

转载 作者:行者123 更新时间:2023-11-30 19:56:06 33 4
gpt4 key购买 nike

给定一个 SemanticModel 实例和一个与之关联的 ISymbol ,是否有可能获得 ISymbolSyntaxNode >?

基本上与 SemanticModelGetDeclaredSymbol 方法相反

我知道的唯一方法是使用谓词搜索 SyntaxTree 根,有没有一种方法可以用更少的代码来做到这一点?

最佳答案

为了从 ISymbol 中获取 SyntaxNode 声明,请使用 ISymbol.DeclaringSyntaxReferences

请注意,它可以返回多个引用(例如,当您有部分声明时)或不返回(当它在外部声明时)。

一个小例子:

var syntaxReference = propSymbol.DeclaringSyntaxReferences
.First()
.GetSyntax();

GetSyntax() 将返回一个 SyntaxNode,因此您仍应将其转换为您感兴趣的确切类型。

关于c# - 查找 ISymbol 的 SyntaxNode,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34842286/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com