C# 中的多播委託是什麼?


引用多個方法的委託稱為多播委託。

下面我們來看一個示例-

示例

using System;
delegate void myDelegate(int val1, int val2);
public class Demo {
   public static void CalAdd(int val1, int val2) {
      Console.WriteLine("{0} + {1} = {2}", val1, val2, val1 + val2);
   }

   public static void CalSub(int val1, int val2) {
      Console.WriteLine("{0} - {1} = {2}", val1, val2, val1 - val2);
   }
}

public class Program {
   static void Main() {
      myDelegate d = new myDelegate(Demo.CalAdd);
      d += new myDelegate(Demo.CalSub);
      d(45, 70);
      d -= new myDelegate(Demo.CalAdd);
      d(95, 70);
      d += new myDelegate(Demo.CalSub);
      d(88, 6);
      d -= new myDelegate(Demo.CalAdd);
      d(40, 20);
      Console.Read();
   }
}

在上面的示例中,我們的委託是-

delegate void myDelegate(int val1, int val2);

使用以下內容,我們在委託中設定對多個方法(即 CalAdd() 和 CalSub())的引用-

myDelegate d = new myDelegate(Demo.CalAdd);
d += new myDelegate(Demo.CalSub);
d(45, 70);
d -= new myDelegate(Demo.CalAdd);
d(95, 70);
d += new myDelegate(Demo.CalSub);
d(88, 6);
d -= new myDelegate(Demo.CalAdd);
d(40, 20);

更新於:20-6 月-2020

1K+ 瀏覽次數

啟動你的 職業生涯

透過完成本課程來獲得認證

開始
廣告