C#委托
程序员文章站
2023-10-16 12:10:50
C# 中的委托(Delegate)类似于 C 或 C++ 中函数的指针。委托(Delegate) 是存有对某个方法的引用的一种引用类型变量。引用可在运行时被改变。 委托(Delegate)特别用于实现事件和回调方法。所有的委托(Delegate)都派生自 System.Delegate 类。 委托多 ......
c# 中的委托(delegate)类似于 c 或 c++ 中函数的指针。委托(delegate) 是存有对某个方法的引用的一种引用类型变量。引用可在运行时被改变。
委托(delegate)特别用于实现事件和回调方法。所有的委托(delegate)都派生自 system.delegate 类。
委托多播实例:例如小明叫小张买完车票,之后接着又让他带张电影票:
// 小张类 public class mrzhang { // 其实买车票的悲情人物是小张 public static void buyticket() { console.writeline("nnd,每次都让我去买票,鸡人呀!"); } public static void buymovieticket() { console.writeline("我去,自己泡妞,还要让我带电影票!"); } } //小明类 class mrming { // 声明一个委托,其实就是个“命令” public delegate void bugticketeventhandler(); public static void main(string[] args) { // 这里就是具体阐述这个命令是干什么的,本例是mrzhang.buyticket“小张买车票” bugticketeventhandler mydelegate = new bugticketeventhandler(mrzhang.buyticket); mydelegate += mrzhang.buymovieticket; // 这时候委托被附上了具体的方法 mydelegate(); console.readkey(); } }