我试图写一个需要调用拦截函数调用WaitForExternalEvent
和参数到函数执行一些逻辑分析仪罗丝琳。我有一个语法树,它看起来像
以代码的形式,它看起来像
public static class HireEmployee
{
[FunctionName("HireEmployee")]
public static async Task<Application> RunOrchestrator(
[OrchestrationTrigger] DurableOrchestrationContext context,
ILogger log)
{
var applications = context.GetInput<List<Application>>();
var approvals = await context.WaitForExternalEvent<List<Application>>("ApplicationsFiltered");
log.LogInformation($"Approval received. {approvals.Count} applicants approved");
return approvals.OrderByDescending(x => x.Score).First();
}
...
当我注册的动作为了这个,我这样做的像
context.RegisterSyntaxNodeAction(AnalyzeSyntax, SyntaxKind.IdentifierName);
我AnalyzeSyntax
方法中设置断点我打了IdentifierName令牌,但从来没有为WaitForExternalEvent
令牌断点。是有一些限制的令牌有多深,可以吗?我应该如何去寻找有关这些电话?
在我看来像你需要使用SyntaxKind.GenericName
而不是SyntaxKind.IdentifierName
注册的动作。然后在您的AnalyzeSyntax
方法你想投的context.Node
作为GenericName
类型。
这就是语法展台展示我的时候我强调WaitForExternalEvent<List<Application>>
。
因此,建立这样的操作:
context.RegisterSyntaxNodeAction(AnalyzeSyntaxNode, SyntaxKind.GenericName);
和你的方法开始应该这样做:
private void AnalyzeSyntaxNode(SyntaxNodeAnalysisContext context)
{
var syntax = context.Node as GenericNameSyntax;
}