1. 程式人生 > 其它 >C#委託、多播委託極簡案例,一看就懂

C#委託、多播委託極簡案例,一看就懂

廢話不多講,直接上程式碼,看完程式碼再講解;

    class Class1
    {
        public delegate void Del();//宣告委託
        public static void F1() { Console.WriteLine("第一個方法"); }
        public static void F2() { Console.WriteLine("第二個方法"); }
        public static void F3() { Console.WriteLine("第三個方法"); }
        public static
void Main() { Del del = F1;//例項化委託,並新增一個方法 del += F2; del += F3;//新增多個方法,成為多播委託 del();//執行委託,相當於運行了3個方法 Console.Read(); } }

委託的本質:

  • 箱子:委託相當於一個容器,比如一個箱子,裡面可以放很多蘋果,搬走一個箱子,就擁有了很多蘋果;
  • 糖葫蘆:委託相當於糖葫蘆中間的竹籤子,串一顆山楂就是單播委託,串一串山楂就是多播委託;拿著竹籤子,就相當於可以從頭到尾一顆顆享受山楂的美味;
  • 鐵鏈子:多播委託也叫方法鏈子,先後繫結的方法像鏈條一樣,一節一節的,按照新增順序依次執行;