国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C# > 正文

C#職責鏈模式實例詳解

2020-01-24 01:37:05
字體:
來源:轉載
供稿:網友

本文實例講述了C#職責鏈模式。分享給大家供大家參考。具體如下:

ConcreteHandler1.cs如下:

using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace ConsoleApplication1{  public class ConcreteHandler1:Handler  {    public override void HandRequest(int request)    {      if(request>0&&request<10)      {        Console.WriteLine("{0} 處理請求 {1}",this.GetType().Name,request);      }      else if(successor!=null)      {        successor.HandRequest(request);      }    }  }}

ConcreteHandler2.cs如下:

using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace ConsoleApplication1{  public class ConcreteHandler2:Handler  {    public override void HandRequest(int request)    {      if (request > 10 && request < 20)      {        Console.WriteLine("{0} 處理請求 {1}", this.GetType().Name, request);      }      else if (successor != null)      {        successor.HandRequest(request);      }    }  }}

ConcreteHandler3.cs如下:

using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace ConsoleApplication1{  public class ConcreteHandler3:Handler  {    public override void HandRequest(int request)    {      if (request > 20 && request < 30)      {        Console.WriteLine("{0} 處理請求 {1}", this.GetType().Name, request);      }      else if (successor != null)      {        successor.HandRequest(request);      }    }  }}

Handler.cs如下:

using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace ConsoleApplication1{  public abstract class Handler  {    protected Handler successor;    public void SetSuccessor(Handler successor)     {      this.successor = successor;    }    public abstract void HandRequest(int request);  }}

Program.cs如下:

using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace ConsoleApplication1{  class Program  {    static void Main(string[] args)    {      Handler h1 = new ConcreteHandler1();      Handler h2 = new ConcreteHandler2();      Handler h3 = new ConcreteHandler3();      h1.SetSuccessor(h2);      h2.SetSuccessor(h3);      int[] requests = {2,5,14,22,18,3,27,20};      foreach(int request in requests)      {        h1.HandRequest(request);      }      Console.ReadKey();    }  }}

希望本文所述對大家的C#程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 铜山县| 刚察县| 柳江县| 陇川县| 和政县| 麻阳| 江山市| 湘西| 云安县| 隆尧县| 鄄城县| 阳曲县| 尚志市| 太白县| 碌曲县| 彰武县| 阿图什市| 鄄城县| 瑞金市| 客服| 拉孜县| 自贡市| 白河县| 临洮县| 汾西县| 霍山县| 和政县| 遵义县| 湾仔区| 全州县| 松阳县| 阜新| 汝州市| 阿勒泰市| 三亚市| 长阳| 丹巴县| 竹溪县| 清镇市| 眉山市| 黄龙县|