⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 workflow23_ifelse.xoml.cs

📁 WWF中的基本活动的简单示例,例如IfElseActivity、WhileActivity活动
💻 CS
字号:
//《WF编程》系列之23 - 基本活动:IfElseActivity & WhileActivity & SequenceActivity 
//4.1.2 IfElseActivity
//IfElse活动和C#中的if…else语句很像,它的内部是一个或更多的IfElseBranch(分支)活动,每个分支活动都有一个Condition(条件)属性.除最后一个分支之外,其它分支的Condition属性都是必须设置的.
//IfElse活动从左向右来判断子分支的条件并执行第一个满足条件的分支.如果所有分支的条件都不满足,就都不会被执行,在这种情况下,如果最后一个分支没有设置条件,它将会被执行.
//我们可以通过右键单击IfElseActivity并选择添加分支(AddBranch)来添加一个分支,也可以通过右键单击分支并选择删除(Delete)来删除分支删除一个分支.

//分支的Condition属性可以设置为声明性规则条件(Declarative Rule Condition,设计器会将其以XML格式保存到一个外部的.rules文件中),也可以设置为代码条件(Code Condition,即一个事件处理程序).如果我们设置Condition为声明性规则,我们可以从属性面板启动规则条件编辑器(Rule Condition Editor)然后输入相应的表达式.假如工作流有一个整型的属性Sales,我们可以输入这样的表达式:

//This.Sales > 10000
//如果我们设置Condition为代码条件,那么我们可以编写这样的代码: 

//private void checkSalesAmount(object sender, ConditionalEventArgs e)

//{

//e.Result = Sales > 10000;

//}
//IfElse活动会触发事件来判断条件是否满足.我们可以将判断条件的结果赋给事件参数(e)的Result属性.另外,在属性面板,我们可以指定代码条件的名称(例如checkSalesAmount).

using System;
using System.ComponentModel;
using System.ComponentModel.Design;
using System.Collections;
using System.Drawing;
using System.Workflow.ComponentModel.Compiler;
using System.Workflow.ComponentModel.Serialization;
using System.Workflow.ComponentModel;
using System.Workflow.ComponentModel.Design;
using System.Workflow.Runtime;
using System.Workflow.Activities;
using System.Workflow.Activities.Rules;

namespace WorkflowConsoleApplication1
{
	public partial class Workflow23_IfElse : SequentialWorkflowActivity
	{
        private int _salse;
        public int Salse
        {
            get
            {
                return this._salse;
            }
            set
            {
                this._salse=value;
            }
        }

        private void codeActivity1_ExecuteCode(object sender, EventArgs e)
        {
            Console.WriteLine("销售额大于1000");
        }

        private void checkSalesAmount(object sender, ConditionalEventArgs e)
        {

            e.Result = this.Salse < 1000;

        }

        private void codeActivity2_ExecuteCode(object sender, EventArgs e)
        {
            Console.WriteLine("销售小于1000");

        }
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -