什么是 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);
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP