一、委托与事件

与世无争的帅哥 提交于 2020-01-05 05:15:12

  delegate 关键字用于声明一个引用类型(也就是一个对象,换句话说就是那些方法的指针),该引用类型可用于封装命名方法或匿名方法。通过将委托与命名方法或匿名方法关联,可以实例化委托。实例化委托有什么用呢?这样你就可以通过委托调用那些命名方法或者匿名方法了。

优点:

1、如果知道现有类中有委托,并且知道委托的签名方式,则可以向现有类中添加符合委托签名的新实例方法、静态方法或者匿名方法。

例如:类TextBox中有一个EventHander委托的实例OnChange(其实这个是event,当然eventdelegate的一种),我们知道它的签名方法是void EventHander (object sender,EventArgs e),这样我们就可以在外面给它添加方法和实例了,txt.OnChange += new EventHandler(里面写你想要事件触发后执行的方法名)

2、   委托允许将方法作为参数进行传递。

3、  委托可用于定义回调方法。

  event 关键字用于在类中声明事件。

事件是一类特殊的委托(因为加了一个event修饰符,这个event什么作用呢?就是限制你这个是事件,如果出现在定义该委托的类之外,则只能出现在+=或者-=左边,相反在定义它的类里是不算的,可以直接调用,不然怎么触发啊),如果给事件订阅了方法,则该委托就实例化了,可以用了。

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!