private InvokeRecursive ( int index, IReadOnlyList |
||
index | int | |
filters | IReadOnlyList |
|
options | ILightNodeOptions | |
context | OperationContext | |
coordinator | IOperationCoordinator | |
return | System.Threading.Tasks.Task |
Task InvokeRecursive(int index, IReadOnlyList<LightNodeFilterAttribute> filters, ILightNodeOptions options, OperationContext context, IOperationCoordinator coordinator)
{
index += 1;
if (filters.Count != index)
{
// chain next filter
return filters[index].Invoke(context, () => InvokeRecursive(index, filters, options, context, coordinator));
}
else
{
// execute operation
return coordinator.ExecuteOperation(options, context, ExecuteOperation);
}
}