思ったよりも少しひねりがあり、少し面倒です。通常、InArgument があり、以下のように使用します。
public InArgument<Int32> XYZ_ID { get; set; }
public InArgument<Int32> XYZ_COUNT { get; set; }
protected override IAsyncResult BeginExecute(...)
{
....snip....
_ABC_ID = XYZ_ID.Get(context),
_ABC_Count = XYZ_COUNT.Get(context)
これはうまく機能し、カスタムオブジェクトは同じプロセスに近いと思いましたが、理解できないようです。ActvUsrPrgmResults は、AccountName、FirstName などのプロパティの単なるクラスです。そのため、他の型と同様に渡しました。
public InArgument<bool> IsHappy { get; set; }
public InArgument<bool> IsClapping { get; set; }
public InArgument<ActvUsrPrgmResults> itm_ActvUsrPrgm { get; set; }
それにアクセスするのは少し難しいです....私にとっては。
protected override void Execute(CodeActivityContext context)
{
NewPerson x = new NewPerson
{
AccountName = this.itm_ActvUsrPrgm.Get(?????
//this doesn't work either
AccountName = itm_ActvUsrPrgm.?????
つまり、itm_ActvUsrPrgm InArgument のプロパティにアクセスする方法がわかりません。
JBの助けや指示をありがとう
追加情報
ForEach (リスト) にこの CodeActivity があります。したがって、ジェネリック コレクション内の各アイテムは、ActvUsrPrgmResults の単一のインスタンスです。だから私はこれを自分の CodeActivity に渡し、そのアイテムのデータを操作するためのハンドルを持っていると考えていますか????
面白い
ウィルのコメントに基づいて、私はこのわずかな手について考えるようになりました. それは機能しますが、よりエレガントなアプローチがあるべきではありませんか?
public InArgument<bool> IsHappy { get; set; }
public InArgument<bool> IsClapping { get; set; }
public InArgument<ActvUsrPrgmResults> itm_ActvUsrPrgm { get; set; }
protected override void Execute(CodeActivityContext context)
{
ActvUsrPrgmResults y = itm_ActvUsrPrgm.Get(context);
NewPerson x = new NewPerson
{
AccountName = y.AccountName....