我有一点转折,比我想象的要麻烦一些。通常我会有一个 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....