我有点扭曲,比我想象的要麻烦一点。通常我会有一个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(List)中有这个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....
答案 0 :(得分:1)
问题在于我,我自己和我。我无法处理传入的对象。对于一些隐藏的原因,在您牢牢掌握确切的问题之前,“InArgument”无法立即获取来自给定上下文的对象。我不确定,但我怀疑这是由于多个工作流运行所以你不能只抓住任何ole对象,你必须从正确的上下文中获取对象。无论如何,这是我对内联学习的评论。
public InArgument<bool> IsHappy { get; set; } //bool variable being passed in
public InArgument<bool> IsClapping { get; set; } //bool variable being passed in
public InArgument<ActvUsrPrgmResults> itm_ActvUsrPrgm { get; set; } //custom object being passed in
protected override void Execute(CodeActivityContext context)
{
bool Happy = context.GetValue(this.IsHappy);
bool Clap = context.GetValue_this.IsClapping);
ActvUsrPrgmResults y = context.GetValue(this.itm_ActvUsrPrgm);
//NOW!!! we have a handle to the proper objects for this context
//This also works. I just flip flopped the InArgument property and the context.
ActvUsrPrgmResults y = itm_ActvUsrPrgm.Get(context);
NewPerson x = new NewPerson
{
AccountName = y.AccountName....