Я пытаюсь получить «содержимое» (SyntaxNodes) метода, когда все, что у меня есть, - это SyntaxNode и SyntaxNodeAnalysisContext, полученные RegisterSyntaxNodeAction (AnalyzeNode, SyntaxKind.InvocationExpression). Реализация метода (SyntaxNode) находится в другом файле, другом классе. Я попытался изучить Семантику, но я не совсем понимаю, как это работает. Кто-нибудь знает, как этого добиться? Заранее спасибо.
Возможный дубликат Roslyn Получить объявление метода из вызова
Если у вас есть
ExpressionInvocationSyntax
или что-то еще, которое вызывает или обращается к вашему методу, вы можете попытаться получить объявленный символ из SemanticModelSemanticModel.GetDeclaredSymbol(...) ?? SemanticModel.GetSymbolInfo(...).Symbol
и, используя соответствующий символ, попытаться найти синтаксис объявления с помощьюISymbol.DeclaringSyntaxReferences