elsa C# 表达式
在使用 Elsa 时,您经常需要编写动态表达式。本页提供了您可以使用的 C# 表达式的词汇表。
Elsa 使用 Roslyn 实现 C# 表达式评估器。
常见表达式
开箱即用,所有类型都已从 System
和 System.Linq
命名空间注册。
活动输出
以下函数特定于处理活动输出。
函数 | 描述 | 示例 |
---|---|---|
Output.Get(string, string?): object? |
通过活动名称获取活动的输出。 | Output.Get("HttpEndpoint1") |
Output.LastResult: object? |
获取最后一个结果。 | Output.LastResult |
工作流变量和输入
以下函数特定于处理工作流变量和输入。
函数 | 描述 | 示例 |
---|---|---|
Variables.Get(string): object? |
从工作流中获取变量。 | Variables.Get("MyVariable") |
Variables.Set(string, object?): void |
在工作流中设置变量。 | Variables.Set("MyVariable", "myValue") |
Variables.{VariableName}: object? |
在工作流上获取或设置变量。 | Variables.MyVariable |
Input.Get(string): object? |
获取工作流的输入。 | Input.Get('name') |
工作流变量
从工作流中获取变量有两种方式:
Variables.Get("MyVariable")
Variables.MyVariable
第一种方法在构建时不知道变量名称时非常有用。第二种方法在构建时知道变量名称时非常有用,额外的好处是提供智能感知。
类似地,设置工作流中的变量也有两种方式:
Variables.Set('MyVariable', "myValue");
Variables.MyVariable = "myValue";
工作流输入
要获取工作流的输入,请使用 Input.Get(string)
函数。
例如,如果您运行一个工作流并提供以下输入:
{
"input": {
"name": "Alice"
}
}
您可以使用以下表达式获取 name
字段:
Input.Get("name")
工作流相关
这些函数和属性特定于与工作流交互。
函数或属性 | 描述 | 示例 |
---|---|---|
WorkflowInstanceId: string |
获取工作流实例的 ID。 | WorkflowInstanceId |
CorrelationId: string |
获取或设置工作流实例的关联 ID。 | CorrelationId |