C#委託、多播委託極簡案例,一看就懂
阿新 • • 發佈:2022-03-05
廢話不多講,直接上程式碼,看完程式碼再講解;
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 staticvoid Main() { Del del = F1;//例項化委託,並新增一個方法 del += F2; del += F3;//新增多個方法,成為多播委託 del();//執行委託,相當於運行了3個方法 Console.Read(); } }
委託的本質:
- 箱子:委託相當於一個容器,比如一個箱子,裡面可以放很多蘋果,搬走一個箱子,就擁有了很多蘋果;
- 糖葫蘆:委託相當於糖葫蘆中間的竹籤子,串一顆山楂就是單播委託,串一串山楂就是多播委託;拿著竹籤子,就相當於可以從頭到尾一顆顆享受山楂的美味;
- 鐵鏈子:多播委託也叫方法鏈子,先後繫結的方法像鏈條一樣,一節一節的,按照新增順序依次執行;