Android activity 在WF中将值从活动传递给另一个活动

Android activity 在WF中将值从活动传递给另一个活动,android-activity,workflow-foundation-4,Android Activity,Workflow Foundation 4,我和WF一起工作。 我制作了一个名为Draft_Doc的自定义活动: public sealed class Draft_Doc : CodeActivity<string> { protected override string Execute(CodeActivityContext context) { C.Send_Task_Msg(unique_name, "Draft"); return "Draft"; } }

我和WF一起工作。 我制作了一个名为Draft_Doc的自定义活动:

public sealed class Draft_Doc : CodeActivity<string> 
{
    protected override string Execute(CodeActivityContext context)
    {
        C.Send_Task_Msg(unique_name, "Draft");
        return "Draft";
    }
}
public sealed class草稿\u Doc:code活动
{
受保护的重写字符串执行(CodeActivityContext上下文)
{
C.发送任务消息(唯一名称,“草稿”);
返回“草稿”;
}
}
我做了另一个包含书签的活动

public sealed class WaitingTheApproval : NativeActivity
{
    WorkflowInstanceProxy instance;
    Service1Client C = new Service1Client();
    public InArgument<string> previous_stage { get; set; }
    public string stageName;

    protected override void CacheMetadata(NativeActivityMetadata metadata)
    {
        base.CacheMetadata(metadata);
        metadata.AddDefaultExtensionProvider<MyExtension>(() => new MyExtension());

        //RuntimeArgument argSql = new RuntimeArgument("SqlConnectionString", typeof(String), ArgumentDirection.In);

    }

    protected override bool CanInduceIdle
    {
        get { return true; }
    }

    protected override void Execute(NativeActivityContext context)
    {

        var bookmark = context.CreateBookmark("MyBookmark", BookmarkResumed);
        var extension = context.GetExtension<MyExtension>();
        instance = extension._instance;
        stageName = context.GetValue(this.previous_stage);

        stageName = previous_stage.Get(context);
        WaitSome(bookmark);

    }
}
公共密封类等待批准:NativeActivity
{
WorkflowInstanceProxy实例;
Service1Client C=新的Service1Client();
上一阶段公开声明{get;set;}
公共字符串stageName;
受保护的覆盖无效缓存元数据(NativeActivityMetadata)
{
base.CacheMetadata(元数据);
metadata.AddDefaultExtensionProvider(()=>newMyExtension());
//RuntimeArgument argSql=新的RuntimeArgument(“SqlConnectionString”、typeof(String)、ArgumentDirection.In);
}
受保护的覆盖布尔Caninducidel
{
获取{return true;}
}
受保护的覆盖无效执行(NativeActivityContext上下文)
{
var bookmark=context.CreateBookmark(“MyBookmark”,bookmark);
var extension=context.GetExtension();
实例=扩展。\u实例;
stageName=context.GetValue(此.previous_阶段);
stageName=previous_stage.Get(上下文);
WaitSome(书签);
}
}
我想要的是,当我在重新托管的工作流中拖放这两个活动时。我想先拖动Draft_Doc,然后将WaitingTheApproval链接到它

因此,我希望在运行时等待审批的InArgument previous_阶段中设置Draft_Doc的返回值。
是否有帮助?

无法将值从一个活动直接传递到另一个活动。您应该在第一个活动中为变量赋值,并使用在第二个活动中已赋值的变量。

编辑后有没有答案?:)对不起,我不知道你想做什么。您有详细说明您正在做什么的代码,但这既太多又不够。我理解您的要求(当将活动放到设计图面上时自动连接活动),但有很多方法可以做到这一点,其中一些方法相当复杂(例如,实现IActivityTemplateFactory和搜索当前工作流)。我通常在你的网站上做的是创建一个只做我需要完成的事情的原型。这让我的问题尽可能的清楚。