Class WorkflowOutputBuilder
Represents the expression that is used as the output of an encapsulated workflow.
The WorkflowOutput
operator is used inside nested workflows to specify the sequence of notifications providing the result of the nested function. In each workflow there can only be at most one WorkflowOutput
node. How this result sequence is converted into the sequence of notifications of the outer nesting node is dependent on the exact operator in which the output is nested.
If no WorkflowOutput
is specified, the result sequence of any nested workflow (including the top-level workflow) will be of type Unit and will not emit any notifications except for successful termination if all inner sequences terminate successfully, or exceptional termination if any of the inner sequences raises an error.
Note
If the sequence connected to WorkflowOutput
terminates successfully, all other nested operators will be immediately cancelled. This is also true for the top-level workflow, in which case the entire program execution is terminated.
Implements
Inherited Members
Namespace: Bonsai.Expressions
Assembly: Bonsai.Core.dll
Syntax
[WorkflowElementCategory(ElementCategory.Sink)]
public class WorkflowOutputBuilder : SingleArgumentExpressionBuilder, IExpressionBuilder
Methods
| Improve this Doc View SourceBuild(IEnumerable<Expression>)
Returns the single output expression specified in arguments
.
Declaration
public override Expression Build(IEnumerable<Expression> arguments)
Parameters
Type | Name | Description |
---|---|---|
IEnumerable<Expression> | arguments |
Returns
Type | Description |
---|---|
Expression | A collection of Expression nodes that represents the input arguments. An Expression that will be used as the output of an encapsulated workflow. |