IfElseActivity。
右鍵 IfElse → 新增分支,增加至三個分支。調整位置(左移/右移)。
private void Condition1(object sender, ConditionalEventArgs e)
{
if (rolename.ToUpper() == "A") e.Result = true;
else e.Result = false;
}
private void Condition2(object sender, ConditionalEventArgs e)
{
if (rolename.ToUpper() == "C") e.Result = true;
else e.Result = false;
}
分支 3 為 Else,無條件。
private void admin_ExecuteCode(object sender, EventArgs e)
{
Console.WriteLine("您好,管理員!");
}
private void codeActivity3_ExecuteCode(object sender, EventArgs e)
{
Console.WriteLine("您好,客戶!");
}
private void passenger_ExecuteCode(object sender, EventArgs e)
{
Console.WriteLine("您好,過客!");
}
private void codeActivity1_ExecuteCode(object sender, EventArgs e)
{
Console.WriteLine("請選擇您的角色:(C-普通客戶;A-系統管理員;P-過客)");
rolename = Console.ReadLine();
}
private void codeActivity2_ExecuteCode(object sender, EventArgs e)
{
Console.Read();
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
using System.Workflow.Runtime;
using System.Workflow.Runtime.Hosting;
namespace CodeAndDelay
{
class Program
{
static void Main(string[] args)
{
using (WorkflowRuntime workflowRuntime = new WorkflowRuntime())
{
AutoResetEvent waitHandle = new AutoResetEvent(false);
workflowRuntime.WorkflowCompleted += delegate(object sender, WorkflowCompletedEventArgs e) { waitHandle.Set(); };
workflowRuntime.WorkflowTerminated += delegate(object sender, WorkflowTerminatedEventArgs e)
{
Console.WriteLine(e.Exception.Message);
waitHandle.Set();
};
WorkflowInstance instance = workflowRuntime.CreateWorkflow(typeof(CodeAndDelay.Workflow1));
instance.Start();
waitHandle.WaitOne();
}
}
}
}
輸入 a → 顯示「您好,管理員!」
https://zhuxianzhong.blog.51cto.com/157061/203302