C# Roslyn分析仪中的识别器未被击中

C# Roslyn分析仪中的识别器未被击中,c#,roslyn,roslyn-code-analysis,C#,Roslyn,Roslyn Code Analysis,我正在尝试编写一个Roslyn分析器,它需要拦截对函数调用的调用WaitForExternalEvent,并对该函数的参数执行一些逻辑。我有一个语法树,它看起来像 在代码形式中,它看起来像 公共静态类雇佣员工 { [职能名称(“雇佣员工”)] 公共静态异步任务RunOrchestrator( [OrchestrationTrigger]DurableOrchestrationContext上下文, ILogger日志) { var applications=context.GetInput()

我正在尝试编写一个Roslyn分析器,它需要拦截对函数调用的调用
WaitForExternalEvent
,并对该函数的参数执行一些逻辑。我有一个语法树,它看起来像

在代码形式中,它看起来像

公共静态类雇佣员工
{
[职能名称(“雇佣员工”)]
公共静态异步任务RunOrchestrator(
[OrchestrationTrigger]DurableOrchestrationContext上下文,
ILogger日志)
{
var applications=context.GetInput();
var approvals=wait context.WaitForExternalEvent(“应用程序筛选”);
log.LogInformation($“已收到批准。{approvals.Count}已批准的申请人”);
返回approvals.OrderByDescending(x=>x.Score).First();
}
...
当我为此注册操作时,我非常喜欢

context.RegisterSyntaxNodeAction(AnalyzeSyntax, SyntaxKind.IdentifierName);

在我的
AnalyzeSyntax
方法中的断点我确实为IdentifierName令牌命中了断点,但从未为
WaitForExternalEvent
令牌命中过断点。令牌的深度有限制吗?我应该如何查找这些调用?

在我看来,您需要使用
SyntaxKind.Gener>注册操作icName
而不是
SyntaxKind.IdentifierName
。然后在
AnalyzeSyntax
方法中,您希望将
上下文.Node
强制转换为
GenericName
类型

这就是语法可视化工具在突出显示
WaitForExternalEvent时显示的内容