WF学习笔记(一)
-流程启动方式1:
WorkflowInvoker.Invoke(new Workflow1());
-流程启动方式2:
WorkflowApplication instance = new WorkflowApplication(new Workflow1());
instance.Run();
-顺序容器Sequence定义了[Collection<Activity> Activities 属性]与[Collection<Variable> Variables 属性] ,[Activities]集合,可以存放Activity ,集合中的Activity按顺序从上向下执行 [Variables]集合用于存放变量。
-CodeActivity 一个抽向类,继承该类后,需要override该类的Execute方法,用于编写自定义的功能代码;
public sealed class CodeActivity1 : CodeActivity
{
// 定义一个字符串类型的活动输入参数
public InArgument<string> Text { get; set; }
// 如果活动返回值,则从 CodeActivity<TResult>
// 派生并从 Execute 方法返回该值。
protected override void Execute(CodeActivityContext context)
{
// 获取 Text 输入参数的运行时值
string text = context.GetValue(this.Text);
Console.WriteLine(text);
}
}
-可以定义变量来传递数据,流程中的变量也有作用域
Assign 赋值 继承CodeActivity可以对流程内定义的参数,变量赋值。
-Arguments是WF的输入输出接口,在同一个流程内,所有Activity共享一组参数. 参数有如下属性: In、Out、In/Out、property。
In参数关联变量值可传入内部;内部修改参数时,关联变量不会改变。
public sealed class InArgumentActivity : CodeActivity
{
public InArgument<string> InText { get; set; }
protected override void Execute(CodeActivityContext context)
{
string text = context.GetValue(this.InText);
Console.WriteLine("外部传入值:" + text);
context.SetValue(InText, "内部修改V1的值");
text = context.GetValue(this.InText);
Console.WriteLine("内部修改后:" + text);
}
}


Out参数关联变量值无法传入内部,内部参数修改时,会更新其管理的变量。
public sealed class OutArgumentActivity : CodeActivity
{
public OutArgument<string> OutText { get; set; }
protected override void Execute(CodeActivityContext context)
{
string text = context.GetValue(this.OutText);
Console.WriteLine("外部传入值:" + text);
context.SetValue(OutText, "内部修改V1的值");
text = context.GetValue(this.OutText);
Console.WriteLine("内部修改后:" + text);
}
}


In/Out参数关联变量值可传入内部;内部参数修改时会更新其关联的变量。
public sealed class InOutArgumentActivity : CodeActivity
{
public InOutArgument<string> InOutText { get; set; }
protected override void Execute(CodeActivityContext context)
{
string text = context.GetValue(this.InOutText);
Console.WriteLine("外部传入值:" + text);
context.SetValue(InOutText, "内部修改V1的值");
text = context.GetValue(this.InOutText);
Console.WriteLine("内部修改后:" + text);
}
}


WF学习笔记(一)的更多相关文章
- WF学习笔记(四)
1.使用WorkflowApplication.OnUnhandledException 处理Code异常 ,用于产生异常的Activity: public class ExceptionActivi ...
- WF学习笔记(三)
Collection 集合 -AddtoCollection<T> 添加项到集合 :[AddtoCollection]可以将一个项添加到[Collection]集合中 ,[Item]属性用 ...
- WF学习笔记(二)
-DoWhile循环:当[Condition]条件为真时会执行[Body]中的内容, 当[Condition]条件为假时会执行[Body]中的内容一次 -ForEach<T> 循环 :[V ...
- 系列文章--WF学习资料汇总
学习WF当然是MSDN作为第一手材料,但是看完了一些基础的入门知识后,园子里的一些WF大牛们的系列文章就是很好的提高的材料了.在此,感谢他们,我真佩服他们有这样的耐心和良好的学习习惯. 以下就是我经常 ...
- Java学习笔记(04)
Java学习笔记(04) 如有不对或不足的地方,请给出建议,谢谢! 一.对象 面向对象的核心:找合适的对象做合适的事情 面向对象的编程思想:尽可能的用计算机语言来描述现实生活中的事物 面向对象:侧重于 ...
- 0030 Java学习笔记-面向对象-垃圾回收、(强、软、弱、虚)引用
垃圾回收特点 垃圾:程序运行过程中,会为对象.数组等分配内存,运行过程中或结束后,这些对象可能就没用了,没有变量再指向它们,这时候,它们就成了垃圾,等着垃圾回收程序的回收再利用 Java的垃圾回收机制 ...
- Coursera台大机器学习基础课程学习笔记1 -- 机器学习定义及PLA算法
最近在跟台大的这个课程,觉得不错,想把学习笔记发出来跟大家分享下,有错误希望大家指正. 一机器学习是什么? 感觉和 Tom M. Mitchell的定义几乎一致, A computer program ...
- shell学习笔记
shell学习笔记 .查看/etc/shells,看看有几个可用的Shell . 曾经用过的命令存在.bash_history中,但是~/.bash_history记录的是前一次登录前记录的所有指令, ...
- 机器学习实战(Machine Learning in Action)学习笔记————05.Logistic回归
机器学习实战(Machine Learning in Action)学习笔记————05.Logistic回归 关键字:Logistic回归.python.源码解析.测试作者:米仓山下时间:2018- ...
随机推荐
- Win32中常用消息
一 .WM_PAINT消息 1 WM_PAINT的产生 由于窗口的互相覆盖等,产生需要绘制的区域,那么会产生WM_PAINT消息. 一般情况下,不直接发送WM_PAINT消息,通过API声明需要绘 ...
- [QT]Qt+VS2012+Win8 64Bit安装
学习Qt鸟,当年没听@Coding_Peon(http://weibo.com/u/1764451551?topnav=1&wvr=5&topsug=1)话好好学习QT和Python之 ...
- this用法
this是js的一个关键字,随着函数使用场合不同,this的值会发生变化.但是总有一个原则,那就是this指的是调用函数的那个对象. 1.纯粹函数调用. function test() { this. ...
- [CSS]利用伪元素实现一些特殊图形
给定的html代码是: <div class='square'></div> 平常实现我们常是通过添加小的icon来实现,不仅需要添加图片资源,还需要改动html结构. CSS ...
- winform 窗体最大化 分类: WinForm 2014-07-17 15:57 215人阅读 评论(0) 收藏
1:窗体首次加载时最大化 (1):主窗体 this.WindowState = FormWindowState.Maximized; //窗体显示中间部分,不显示窗体名称和最小化.最大化.关闭按钮 ...
- 【Android - 框架】之MVP模式的使用
提起MVP架构模式,大家可能首先想到的是它的"前辈"MVC模式.MVC由Model.View.Controller组成,请求从Controller进入后进行业务判断,然后交给Mod ...
- Unity3D 制作右上角小地图
一个简单的方法, 首先先在俯视图视角截取一张图片,用作小地图的背景图片.然后新建一个Plane,把截图附到Plane上,然后把Plane与刚才截图的场景的相应位置重合,要尽量重合,当做地图.(见 ...
- Java学习笔记六(I/O流)
1.介绍 在实际开发过程中经常会用到数据的输入/输出操作,本篇博客着重分析一下,java中经经常使用到的有关IO操作的类.而在java中能够将经常使用的流分为两个部分:字节流和字符流. 1.流的抽象基 ...
- [PWA] Caching with Progressive libraries
Mainly introduce two libaraies: sw-precache and sw-toolbox. Install: npm install --save-dev sw-preca ...
- TCP 函数
[root@localhost tt]# man listen LISTEN() Linux Programmer’s Manual LISTEN() NAME listen - listen for ...