给定一个SemanticModel实例和一个ISymbol与它的产生密切相关,是有可能得到SyntaxNode的ISymbol?
基本上与GetDeclaredSymbol方法相反SemanticModel
我所知道的唯一方法是SyntaxTree使用谓词搜索根,有没有办法用更少的代码来做?
为了SyntaxNode从a 获得声明ISymbol,请使用ISymbol.DeclaringSyntaxReferences.
请注意,它可以返回多个引用(当您获得部分声明时为fe)或者没有(当它在外部声明时).
一个小例子:
var syntaxReference = propSymbol.DeclaringSyntaxReferences
.First()
.GetSyntax();
Run Code Online (Sandbox Code Playgroud)
GetSyntax()将返回一个,SyntaxNode所以你仍然应该把它投射到你感兴趣的确切类型.
| 归档时间: |
|
| 查看次数: |
173 次 |
| 最近记录: |