[英]Finding containing MethodDeclarationSyntax for a given SyntaxNode
[英]Finding SyntaxNode of an ISymbol
給定一個SemanticModel
實例和ISymbol
與它的產生密切相關,是有可能得到SyntaxNode
的的ISymbol
?
GetDeclaredSymbol
與SemanticModel
的GetDeclaredSymbol
方法相反
我所知道的唯一方法是使用謂詞搜索SyntaxTree
根,有沒有辦法用更少的代碼來做?
為了獲得SyntaxNode
從聲明書ISymbol
,使用ISymbol.DeclaringSyntaxReferences
。
請注意,它可以返回多個引用(當您獲得部分聲明時為fe)或者沒有(當它在外部聲明時)。
一個小例子:
var syntaxReference = propSymbol.DeclaringSyntaxReferences
.First()
.GetSyntax();
GetSyntax()
將返回一個SyntaxNode
因此您仍應將其轉換為您感興趣的確切類型。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.