zoukankan      html  css  js  c++  java
  • WF4.0 基础篇 (七) 数据的传递 变量与参数的使用

    本节主要介绍如何在WF4.0中参数与变量的使用原则与技巧,这些内容是学习WF4.0首先要掌握的

    本文例子下载:

    https://files.cnblogs.com/foundation/VariablesAndArgumentsSample.rar

    本文例子说明

    数据的传递 变量与参数的使用

    [参数] 可以用 [表达式方式] 与 [变量]绑定

    [In 参数],关联变量值可传入内部;内部修改参数时,关联变量不会更改

    说明:

    1.定义一个[InChangeActivity],有一个string型[In 参数]myIn

    在[Execute]方法中打印myIn的值并修改myIn的值后再次打印

    2.在xaml工作流中添加一个string型[myVariable]变量

    3. 在xaml工作流中添加一个[Assign],为[myVariable]变量赋值

    4. 在xaml工作流中添加[InChangeActivity], [InChangeActivity.myIn]绑定到[myVariable]变量

    5. 在xaml工作流中添加[WriteLine],打印[myVariable]变量值

    InChangeActivity

    public sealed class InChangeActivity : CodeActivity

    {

    public InArgument<string> myIn { get; set; }

    protected override void Execute(CodeActivityContext context)

    {

    string s1 = context.GetValue(this.myIn);

    System.Console.WriteLine("传入值为a:{0}", s1);

    //

    context.SetValue(myIn, Guid.NewGuid().ToString());

    //

    string s2 = context.GetValue(this.myIn);

    System.Console.WriteLine("内部修改:{0}", s2);

    }

    }

    工作流

    宿主

    WorkflowInvoker.Invoke(new InChangeWorkflow());

    结果

    [Out 参数] 关联变量值无法传入内部,内部参数修改时,会更新其关联的变量

    说明:

    1.定义一个[OutChangeActivity],有一个string型[Out 参数]myOut

    在[Execute]方法中打印myOut的值并修改myOut的值后再次打印

    2.在xaml工作流中添加一个string型[myVariable]变量

    3. 在xaml工作流中添加一个[Assign],为[myVariable]变量赋值

    4. 在xaml工作流中添加[OutChangeActivity], [OutChangeActivity.myOut]绑定到[myVariable]变量

    5. 在xaml工作流中添加[WriteLine],打印[myVariable]变量值

    OutChangeActivity

    public sealed class OutChangeActivity : CodeActivity

    {

    public OutArgument<string> myOut { get; set; }

    protected override void Execute(CodeActivityContext context)

    {

    string s1 = context.GetValue(this.myOut);

    System.Console.WriteLine("传入值为:{0}", s1);

    //

    context.SetValue(myOut, Guid.NewGuid().ToString());

    //

    string s2 = context.GetValue(this.myOut);

    System.Console.WriteLine("内部修改:{0}", s2);

    }

    }

    工作流

    宿主

    WorkflowInvoker.Invoke(new OutChangeWorkflow());

    结果

    [In/Out 参数]关联变量值可传入内部;内部参数修改时,会更新其关联的变量

    说明:

    1.定义一个 [InOutChangeActivity],有一个string型[InOut 参数]myInOut

    在[Execute]方法中打印myInOut的值并修改myInOut的值后再次打印

    2.在xaml工作流中添加一个string型[myVariable]变量

    3. 在xaml工作流中添加一个[Assign],为[myVariable]变量赋值

    4. 在xaml工作流中添加[InOutChangeActivity], [InOutChangeActivity.myInOut]绑定到[myVariable]变量

    5. 在xaml工作流中添加[WriteLine],打印[myVariable]变量值

    InOutChangeActivity

    public sealed class InOutChangeActivity : CodeActivity

    {

    public InOutArgument<string> myInOut { get; set; }

    protected override void Execute(CodeActivityContext context)

    {

    string s1 = context.GetValue(this.myInOut);

    System.Console.WriteLine("传入值为a:{0}", s1);

    //

    context.SetValue(myInOut, Guid.NewGuid().ToString());

    //

    string s2 = context.GetValue(this.myInOut);

    System.Console.WriteLine("内部修改:{0}", s2);

    }

    }

    工作流

    宿主

    WorkflowInvoker.Invoke(new InOutChangeWorkflow());

    结果

  • 相关阅读:
    算法导论课后习题解析 第六章
    算法导论课后习题解析 第二章
    如果你也是.NET程序员
    查询对象模式
    为什么要面向对象呢
    HTTP强缓存和协商缓存 F
    MFC Dialog改变大小后,控件随之改变方法
    关于C++类型萃取
    docker配置docker
    idea 全局搜索(Ctrl+Shift+F)不能使用解决办法
  • 原文地址:https://www.cnblogs.com/foundation/p/1611478.html
Copyright © 2011-2022 走看看