在.NET中,委托(Delegate)是一个非常强大的特性,它本质上是一个类型,它定义了方法的类型,使得可以将方法当作参数传递或者将方法赋值给变量。委托是事件和回调方法的基础。理解委托对于深入掌握.NET编程非常重要。
委托的声明
委托的声明类似于方法的声明,但是它不使用访问修饰符,并且使用delegate
关键字。委托的声明指定了返回类型以及参数类型,例如:
public delegate void MyDelegate(string message);
这行代码定义了一个名为MyDelegate
的委托,它可以封装一个接受单个string
参数并返回void
的方法。
使用委托
实例化委托
委托对象可以使用命名的方法或者匿名方法来实例化。例如:
public void DisplayMessage(string message)
{
Console.WriteLine(message);
}
MyDelegate del = new MyDelegate(DisplayMessage);
或者,使用更简洁的方式:
MyDelegate del = DisplayMessage;
调用委托
一旦委托被实例化,就可以像调用方法