一、为什么使用委托
为了解除类与类之间的耦合性
方法做了参数,传递到另外一个方法中去
二、什么是委托
委托是一个引用数据类型
委托是特有一个或多个方法的对象
- 委托中添加的方法,可以来自于各个类,不论是静态的方法还是实例的方法都可以,前提是参数和返回值与委托一致
- 创建委托类型的对象
- 调用委托,有参数传参,有返回值就接受
三、委托和事件的区别
1、委托是数据类型 事件是委托类型的变量
2、委托可以使用=、+=、-= 事件只允许+=、-=操作
3、委托可以在任何地方被调用 事件的底层是私有的,只允许在声明事件的类内被调用
四、事件的应用步骤
//发消息类//
第一步:声明委托
Public delegate void Myhandler(int w);
第二步:声明事件
public event Myhandler(委托名) EventTep(事件名);
第三步:触发事件的函数
public void SendMessage(函数名)()
{
if(EventTep!=null)
{
EventTep(this.tep);
}
}
//收消息类//
第四步:处理事件的函数
public void Show(函数名)(int t)
{
}
//双方对象都在的地方
第五步:绑定事件/解绑事件
定义类变量 con
定义接受类变量 ts
con.EventTep += ts.Show;
第六步:调用触发事件的函数
con.SendMessage();