【问题标题】:The InArgument to OutArgument Conversion in Workflow causing error工作流中的 InArgument 到 OutArgument 转换导致错误
【发布时间】:2016-03-02 14:52:56
【问题描述】:

在以下工作流程中,我尝试将 IList Value1 和 Value2 的内容添加到 Value3 中,如下所示。

<Variable x:TypeArguments="scg:IList(mtvc:Mytype)" Name="Value3" />
<Variable x:TypeArguments="scg:IList(mtvc:Mytype)" Name="Value1" />
<Variable x:TypeArguments="scg:IList(mtvc:Mytype)" Name="Value2" />
<Assign sap2010:WorkflowViewState.IdRef="Assign_10">
<Assign.To>
<OutArgument x:TypeArguments="scg:IEnumerable(mtvc:Mytype)">[Value3]</OutArgument></Assign.To><Assign.Value>
<InArgument x:TypeArguments="scg:IEnumerable(mtvc:Mytype)"> [Value1.Concat(Value2)]</InArgument></Assign.Value></Assign>

但我收到如下所示的错误

     Invalid L-value expression.:Reference expressions cannot end with  Conversion. The provided expression's type must exactly match the type T of VisualBasicReference<T> or LambdaReference<T>.

【问题讨论】:

    标签: c# .net workflow workflow-foundation


    【解决方案1】:

    我也遇到过类似的问题。经过不断的尝试和错误,问题为我解决了。但是我还没有找到问题的路径原因。

    如果您通过右键单击字段并选择“新建”来创建变量,则有时会出现此错误。我还没有找到具体的解决方案。但是下面的试验和错误方法帮助我解决了这个问题。 - 选择您将值分配给变量的输入对话框。 - 在属性窗口中,从“结果”属性中清除变量名称。 - 从 Result 属性中移除焦点 - 再次单击结果属性值字段并键入变量名称的前几个字母。等待自动列表显示变量。选择变量。 - 或单击结果属性值字段旁边的“...”。在表达式编辑器中,键入变量名称的前几个字母,然后等待自动列表显示变量。选择变量。

    运行应用程序。如果不起作用,请在引用该字段的所有位置重复替换变量名。

    有时,如果您关闭并重新打开项目,错误也会得到解决。 (但这很奇怪,我不知道为什么会这样!!!)

    【讨论】:

    • 我用 C# 编写了一个自定义任务来添加 IList,它可以工作
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-08
    • 1970-01-01
    • 1970-01-01
    • 2014-07-01
    • 1970-01-01
    • 2023-03-25
    相关资源
    最近更新 更多