Jquery中文网 www.jquerycn.cn
Jquery中文网 >  脚本编程  >  C语言  >  正文 Introduce event delegate

Introduce event delegate

发布时间:2019-01-16   编辑:www.jquerycn.cn
jquery中文网为您提供Introduce event delegate等资源,欢迎您收藏本站,我们将为您提供最新的Introduce event delegate资源
导论
      在学习C#中的委托和事件过程中,我读了许多文章来理解他们二者究竟是怎么一回事,以及如何使用他们,现在我将整个的理解过程陈述以下,我学到的每一方面,恐怕也是你们需要掌握的 :-)。
什么是委托?
      委托和事件这两个概念是完全配合的。委托仅仅是函数指针,那就是说,它能够引用函数,通过传递地址的机制完成。委托是一个类,当你对它实例化时,要提供一个引用函数,将其作为它构造函数的参数。
    每一个委托都有自己的签名,例如:Delegate int SomeDelegate(string s, bool b);是一个委托申明,在这里,提及的签名,就是说SomeDelegate 这个委托 有 string 和 bool 类型的形参,返回一个int 类型。
上面提及的:当你对委托实例化时,要提供一个引用函数,将其作为它构造函数的参数。这里要注意了:被引用的这个函数必须和委托有相同的签名。
看下面的函数:
private int SomeFunction(string str, bool bln){...}
你可以把这个函数传给SomeDelegate的构造函数,因为他们有相似的签名(in other words,他们都有相同的形参类型和个数,并且返回相同的数据类型)。
      SomeDelegate sd = new SomeDelegate(SomeFunction);
  sd 引用了 SomeFunction,也就是说,SomeFunction已被sd所登记注册,如果你调用 sd,SomeFunction 这个函数也会被调用,记住:我所说 SomeFunction的含义,后面,我们会用到它。
  现在,你应该知道如何使用委托了,让我们继续理解事件之旅……
事件的理解
 我们知道,在C#中:
l     按钮(Button)就是一个类,当我们单击它时,就触发一次click事件。
l     时钟(Timer)也是一个类,每过一毫秒,就触发一次tick事件。

您可能感兴趣的文章:
Introduce event delegate
学习 asp.net 的事件与委托
jQuery事件 delegate()使用方法介绍
JQuery delegate事件参数说明
jQuery 事件方法
jQuery on()方法
php批量生成html与txt文件
jQuery 2.0.3 源码分析 事件绑定 – bind/live/delegate/on
c# 进度条 ProgressBar的简单例子
c# 委托与事件的小例子

[关闭]