Elsa Workflow Designer中如何访问$values集合?
解决Elsa Workflow ForEach活动访问集合变量的问题
问题根源
你错误地将JSON序列化后的元数据字段$values当成了运行时对象的属性来访问。Elsa中保存的.NET集合变量(比如你的List<object>),在运行时是实际的.NET对象,而非JSON结构——$values只是序列化时用来存储集合元素的内部字段,不是对象的可访问属性。
正确操作
- 确认变量类型:你的
users变量本身就是System.Collections.Generic.List<object>类型(从序列化的$type字段可验证),无需额外解析。 - 绑定ForEach的Items属性:直接在ForEach活动的
Items输入框中使用表达式:
或更简洁的写法(表达式上下文支持直接引用变量名时):getVariable('users')users - 验证变量有效性:先添加一个
WriteLine活动,输出getVariable('users').Count,如果返回1(对应集合里的单个用户),说明变量是正常的.NET集合,ForEach可直接遍历。
错误原因
你尝试的getVariable('users').$values、getVariable('users')["$values"]等写法,都是在访问运行时对象不存在的属性——.NET的List<T>类没有$values成员,因此会抛出“找不到成员”类的错误。
内容的提问来源于stack exchange,提问作者Morks
相关产品推荐
相关产品推荐

