WorkFlow扩展篇Step.1—集合分组下的活动使用[上]-WF4.0

简介:

开篇

上篇我们主要是讲述了《WorkFlow设计篇Step.6—InvokeMethod调用对象或类型方法-WF4.0》如何使用InvokeMethod完成工作流的设计与开发,本篇我们将要开始讲述

扩展篇的内容,主要是讲述如何使用集合Collection在工作流中的用法。

摘要

本篇我们是扩展篇的第一篇,本篇主要是讲述Collection的用法,一般来说我们对集合的操作,无非就是以下几种,增、删、查这几种,所以WF默认提供了一下四种

集合活动:

image

具体的作用,我想大家从字面上也能看出来个八九不离十,下面我们就具体的使用细节来说明下吧。

最后,我们来整理个流程,把这四类集合的活动,全部集成到一个流程中看看吧。

大纲

1、开篇

2、摘要

3、大纲

4、集合活动的用法

 

集合的用法

1、AddToCollection<T>活动

1、新建一个控制台项目:

image

2、将相应的节点添加到设计器中:

image

3、在顺序控制流中拖拽一个AddToCollection活动,选中该活动并查看相关属性,按F4 如下:

image

4、我们在sequence内定义一个变量,是集合类型的,比如Ilist,我们设置AddToCollection活动的相关属性:

a、添加变量:

image

并且给MyCollection必须要初始化,否则会报错:

image

b、设置AddToCollection活动的属性如下:

image

5、我们添加个foreach<T>活动。循环输出集合中的内容:

image

6、F5,运行查看结果吧,看看是否结果与我们的预期相符:

image

上面我们就完成了AddToCollection<T>活动的说明,其他的几个活动的用法也相仿。

下面我们就来看看ClearCollection<T>的用法吧,该活动的主要作用是将集合内的Item清空。

2、ClearCollection<T>活动

关于Clear的具体作用就是清空具体的目标集合内的所有项,具体的用法,我们下面来一一道来:

1、新建一个活动文件,并拖拽一个sequence与AddToCollection<T>,并添加一个ClearCollection<T>活动:

image

2、设置ClearCollection<T>活动的相关属性如下:

image

3、接着我们来添加几个WriteLine活动,来标识WF流程的开始和结束,并记录每个操作的具体内容如下:

image

image

image

上面的内容,有点多,所以我拆开截图了,不过上面的几幅图拼一起就是完整的了,还望大家如果有看不明白的请看代码吧:

4、F5,运行后,查看具体的运行结果吧,看看是不是我们想要的,看看在执行完毕ClearCollection活动后,集合还会不会输出结果呢?

image

5、为了更清晰的演示,我们在上面多加几个AddToCollection<T>活动,向集合内部多加一些Item吧:

image

6、继续F5,查看运行效果吧:

image

7、大伙应该发现了,其实我们上面的AddToCollection并不是特别的方便使用,我们在实际的场景中可能是使用While循环来添加节点吧?

或者是其他的循环方式,下面我们通过循环来向集合中添加元素。

a、定义MyFlag变量,Int32类型,定义在sequence上,用户控制循环的次数

image

b、删除原来的AddToCollection活动,添加While活动如下:

image

c、F5运行,查看运行输出的效果,看看和我们想的是否一样:

image





本文转自何戈洲博客园博客,原文链接:http://www.cnblogs.com/hegezhou_hot/archive/2011/06/20/2085350.html,如需转载请自行联系原作者

目录
相关文章
|
2月前
|
存储 弹性计算
阿里云服务器一小时收费价格,不同ECS是实例按量付费1小时费用整理
阿里云ECS云服务器按小时计费,价格根据实例类型和配置不同而异。例如经济型e实例2核2G配置0.094元/小时,通用算力型u1实例2核4G配置0.351元/小时,计算型c9i实例2核4G配置0.3873元/小时,4核8G配置0.7746元/小时。不同规格实例价格差异明显,具体以官网信息为准。
|
11月前
|
设计模式 安全 Java
Java 多线程并发编程
Java多线程并发编程是指在Java程序中使用多个线程同时执行,以提高程序的运行效率和响应速度。通过合理管理和调度线程,可以充分利用多核处理器资源,实现高效的任务处理。本内容将介绍Java多线程的基础概念、实现方式及常见问题解决方法。
364 1
|
11月前
|
安全 API 数据安全/隐私保护
常见的HTTP请求方法
【10月更文挑战第25天】这些HTTP请求方法共同构成了客户端与服务器之间交互的基础,使得客户端能够根据不同的需求对服务器资源进行各种操作。在实际应用中,开发者需要根据具体的业务场景和资源的性质选择合适的请求方法来实现客户端与服务器之间的有效通信。
|
存储 Ubuntu Docker
如何在 Ubuntu 上安装 Docker?
【4月更文挑战第17天】
1000 8
如何在 Ubuntu 上安装 Docker?
|
运维 关系型数据库 分布式数据库
【云故事探索】NO.3:智慧出行,云思妙想,看享道出行如何打造智能交通新业态
享道出行运维总监曹亚娟分享了公司如何利用云计算实现创新和发展。作为上汽集团的移动出行品牌,享道出行在阿里云的帮助下,仅用5天完成核心业务搬栈,成为首个使用阿里云PolarDB的大型出行平台。通过深度合作,双方在移动支付等多领域融合,构建全场景智慧出行体验。企业认识到释放云潜力需超越传统IT模式,通过预测算法和Serverless架构优化,提升效率并降低成本。未来,享道出行与阿里云将持续合作,引领移动出行行业的智能化发展。
|
机器人 大数据 异构计算
在实用化人形机器人研发流程中深入应用FPGA技术的流程图(基于工信部《人形机器人创新发展指导意见》)(版本A)
这个流程图将人形机器人视为一个多入多出的反馈控制系统,针对实现工信部《人形机器人创新发展指导意见》所要求的以应对真实场景下的复杂环境与任务、应对突发情况为特征的实用化人形机器人功能需求,在基于CPU+软件体系结构的人形机器人控制系统之中涉及多通道并行处理且需精准协同、强实时性(低延迟量+低延迟抖动量)、大运算量、大数据传输量且构成实时性性能瓶颈的环节中导入FPGA。
383 0
|
算法 Ubuntu Java
数据包完整性校验总结
为了保证分发的数据包的一致性,常常需要增加数据包校验码,这样可以减少因为传递过程中造成的数据包不能使用问题,比如jar包的__invalid distance code__问题。在开始讨论数据包校验码生成方法前,先了解一下基本概念。 # 核心技术 ## 哈希 哈希是一种不可逆的映射,可以将数据经过哈希算法计算得到一个哈希值,而无法再将该哈希值反映射得到原始的数据。一般来说,不同的数据得到的哈
3141 0
|
机器学习/深度学习 存储 数据采集
阿里云医学知识工程Metamed KE - 知识驱动智能应用
本文从医疗健康领域的知识需求、医疗知识工程、知识工程技术图谱建设、医学知识使用场景及案例四个维度来介绍阿里云医学知识工程Metamed KE 。
阿里云医学知识工程Metamed KE - 知识驱动智能应用
|
存储 NoSQL 数据库
软件工程导论—可行性研究(上)
软件工程导论—可行性研究(上)
软件工程导论—可行性研究(上)
|
XML 数据格式 Python
Py之openpyxl:openpyxl库的简介、安装、使用方法之详细攻略
Py之openpyxl:openpyxl库的简介、安装、使用方法之详细攻略
Py之openpyxl:openpyxl库的简介、安装、使用方法之详细攻略