事件与委托

来源:互联网 发布:公司取名软件crsky 编辑:程序博客网 时间:2024/06/14 07:18

1..NET Framework中所有的委托都是System.Delegate类的子类。委托就像一个占位符,其中包含了调用指定方法的信息。

委托实际上是一个类,所以可以在命名空间中声明,也可以在其他类中声明。

使用步骤:声明委托;声明该委托类型的变量;委托实例的初始化;使用实例名调用与委托绑定的方法。

委托可以与静态方法或非静态方法绑定。绑定静态方法时要加上类名。

 

2.委托的类型:单路广播与多路广播。

单播委托与多播委托之间的最大区别是在委托的签名上。一般认为返回类型为void的委托为多播委托。这种委托能够以相同的签名调用多个方法。

可以从System.MulticastDelegate继承一个自定义委托的类,并由此创建多播委托。

方法的调用是通过反射来完成的。每个委托都有一个Method属性,类型为MethodInfo。利用其中的Invoke方法实现动态调用。

原创粉丝点击