这个简单的代码失败并出现以下错误:
处理工作流树时遇到以下错误:
“ArgumentValue”:在拥有这些私有子项的活动中找不到名为“Parameter”的参数。ArgumentReference 和 ArgumentValue 只能在 Activity 定义的主体中使用。
我还尝试了 VisualBasivValue("Parameter") 而不是 ArgumentValue,错误是:
处理工作流树时遇到以下错误:
'VisualBasicValue':编译器错误遇到处理表达式“参数”。未声明“参数”。由于其保护级别,它可能无法访问。
如何正确地做到这一点?
我试图在 Xaml 中构建类似的东西,它可以工作,这里是代码:
<Assign sap:VirtualizedContainerService.HintSize="242,58">
<Assign.To>
<OutArgument x:TypeArguments="x:String">[variable]</OutArgument>
</Assign.To>
<Assign.Value>
<InArgument x:TypeArguments="x:String">[Parameter]</InArgument>
</Assign.Value>
</Assign>
看起来它以某种方式引用了参数,但是如何...
我怎样才能在代码中做到这一点?这是我的简单场景:
public class RootActivity : NativeActivity
{
public InArgument<string> Parameter { get; set; }
public Activity Activity { get; set; }
public RootActivity()
{
var variable = new Variable<string>("V1", "This is my variable!");
var activity = new Sequence
{
Variables = {variable},
Activities =
{
new Assign<string>
{
To = new OutArgument<string>(variable),
Value = new InArgument<string>(
new ArgumentValue<string>("Parameter"));
},
}
};
this.Activity = activity;
}
protected override void Execute(NativeActivityContext context)
{
context.ScheduleActivity(this.Activity);
}
}
非常感谢您的帮助!