工作流中的OutArgument转换的InArgument导致错误

时间:2016-03-02 14:52:56

标签: c# .net workflow workflow-foundation

在以下工作流程中,我尝试将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>.

1 个答案:

答案 0 :(得分:1)

我遇到过类似的问题。经过不断的反复试验,问题就解决了。但我还无法找到问题的原因。

如果您通过右键单击该字段并选择&#34;创建新&#34;来创建变量,则有时会发生此错误。我还没有找到针对此的具体解决方案。但是下面的试错方法帮助我解决了这个问题。 - 选择要为变量赋值的输入对话框。 - 在属性窗口中,清除&#39;结果&#39;中的变量名称。属性。 - 从Result属性中删除焦点 - 再次单击Result属性值字段并键入变量名称的前几个字母。等待自动列表显示变量。选择变量。 enter image description here - 或点击&#34; ...&#34;在“结果属性”值字段旁边。在表达式编辑器中,键入变量名称的前几个字母,然后等待自动列表显示变量。选择变量。

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

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