この単純なコードは、次のエラーで失敗します。
ワークフロー ツリーの処理中に次のエラーが発生しました:
'ArgumentValue': 'Parameter' という名前の引数が、これらのプライベートな子を所有するアクティビティで見つかりませんでした。ArgumentReference と ArgumentValue は、アクティビティ定義の本体でのみ使用する必要があります。
ArgumentValue の代わりに VisualBasivValue("Parameter") も試しましたが、エラーは次のとおりです。
ワークフロー ツリーの処理中に次のエラーが発生しました:
'VisualBasicValue': 式 "Parameter" の処理中にコンパイラ エラーが発生しました。「パラメータ」が宣言されていません。保護レベルにより、アクセスできない場合があります。
適切に行う方法は?
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);
}
}
助けてくれてありがとう!