WF4活动中的动态对象参数

时间:2012-08-10 17:08:01

标签: workflow-foundation-4 workflow-foundation

是否可以在可以在表达式中使用的WF4活动中使用动态对象(扩展DynamicObject)?

运行单元测试时会收到以下错误消息,该单元测试会调用以动态对象作为参数的活动。

使用DynamicObject作为参数类型

  

System.Activities.InvalidWorkflowException:以下错误   处理工作流树时遇到:   'Literal':Literal只支持值类型和   不可变类型System.String。 System.Dynamic.DynamicObject类型   不能用作文字。 '法律':私人实施   activity'1:Legal'有以下验证错误:编译器   处理表达式“deal.Region =”EMEA“”时遇到错误。   'Region'不是'System.Dynamic.DynamicObject'的成员。

使用实际类型作为参数类型

  

System.Activities.InvalidWorkflowException:以下错误   处理工作流树时遇到:   'Literal':Literal只支持值类型和   不可变类型System.String。类型   WorkflowTest.DealValueHelper不能用作文字。   '合法':私人实施活动'1:法律'有   以下验证错误:遇到处理的编译器错误   表达“deal.Region =”EMEA“”。 'Region'不是其成员   'WorkflowTest.DealValueHelper'。

1 个答案:

答案 0 :(得分:1)

是的,这绝对有效。我在Microsoft.Activities.Extensions.WorkflowArguments中创建了这样一个对象。

尝试直接分配到活动的InArgument时,您遇到的问题可能是错误的。我写了一篇关于这个Passing arguments to Workflow Activities (again)

的博文