使用 delegate 关键子定义一个委托类型
委托是对方法的引用,它就是一种用来指向一个方法的引用类型变量
// 声明一个委托
using System.Diagnostics;
public delegate void MyDelegate(string msg);
public class Program
{
static void Main(string[] args)
{
// 实例化,绑定到具体的方法
MyDelegate myDelegate = new MyDelegate(OutMsg);
// 使用委托
myDelegate("我是实参");
}
static void OutMsg(string msg)
{
Debug.WriteLine(msg);
}
}
多播委托是一种可以绑定多个方法的委托类型,允许多个方法共享相同签名。当调用多播委托时,会依次调用绑定的所有方法。
//声明
using System.Diagnostics;
public delegate void Delegate1();
public class Program
{
static void Main(string[] args)
{
// 创建一个多播委托实例,并绑定两个方法
Delegate1 delegate1 = One;
//通过+=来向委托添加调用方法,也可以用-=删除其中的调用方法
delegate1 += Two;
delegate1();
}
static void One()
{
Debug.WriteLine("方法一");
}
static void Two()
{
Debug.WriteLine("方法二");
}
}
有什么好处,以后想起在琢磨