2
假設有一個SemanticModel
實例和ISymbol
與它相關聯,是否有可能獲得ISymbol
的SyntaxNode
?查找ISymbol的語法節點
Basicly相反的SemanticModel
GetDeclaredSymbol
方法我所知道的與斷言搜索SyntaxTree
根的唯一途徑,是有辦法用更少的代碼做呢?
假設有一個SemanticModel
實例和ISymbol
與它相關聯,是否有可能獲得ISymbol
的SyntaxNode
?查找ISymbol的語法節點
Basicly相反的SemanticModel
GetDeclaredSymbol
方法我所知道的與斷言搜索SyntaxTree
根的唯一途徑,是有辦法用更少的代碼做呢?
爲了從ISymbol
獲得SyntaxNode
聲明,請使用ISymbol.DeclaringSyntaxReferences
。
請注意,它可以返回多個引用(f.e.當你有部分聲明時)或無(當它是外部聲明時)。
一個小例子:
var syntaxReference = propSymbol.DeclaringSyntaxReferences
.First()
.GetSyntax();
GetSyntax()
會返回一個SyntaxNode
所以你還是應該將它轉換爲你感興趣的確切類型