0

我正在使用命令代码编写自定义活动。在我的强烈反应中,我将活动视为组成活动之一。在那个活动中,我想动态地设置ServiceContractName和OperationName属性,这意味着当开发者使用我的自定义活动时必须进行设置。所以我为此宣布了一个属性和一个InArgument。我将此属性和参数值分配给本地(序列可变)。当我尝试将这些变量分配给接收活动属性时,我收到编译时错误。如何将Varriable分配给Receive活动的字符串和XName属性。将动态值分配给接收活动属性

return new Sequence 
{ 
    Variables = { operationName, serviceContractName}, 
    Activities = 
    { 
     new Assign<string> 
     { 
      To = new OutArgument<string>(serviceContractName), 
      Value = new InArgument<string>(ctx => ServiceContractName.Get(ctx)) 
     }, 

     new Assign<string> 
     { 
      To = new OutArgument<string>(operationName), 
      Value = new InArgument<string>(ctx => OperationName) 
     }, 

     new Receive 
      { 
       ServiceContractName = serviceContractName, 
       OperationName = operationName, 
       CanCreateInstance = true, 
       Content = new ReceiveMessageContent 
       { 
        Message = new OutArgument<Request>(request) 
       } 
      } 
     }, 
    } 
}; 

回答

0

你不能那样做。 ServiceContractName和OperationName不是InArguments,而是普通属性,它们必须在设计时进行设置,而不是在运行时进行设置。

+0

谢谢你的澄清莫里斯。 – sarasivam