1.事件基于delegate机制
2.理解事件可以从事件发行者和事件订阅者着手
1.定义一个委托,如 public delegate void eventcallback(string empid,double salary);
2.在事件发行者中定义一个事件,并且使用之前声名的委托进行沟通
如: public event eventcallback OnComputerSalaryDone;
3.编写事件触发的方法,只要这个方法被调用,事件就会被激发
如: public void ComputerSalary()
{
OnComputerSalaryDone(empid,mdblsalary); //参数是事件的数据
}
4.在事件订阅者中编写事件处理方法,待事件产生时调用,以处理事件
public void SalaryHandler(string empid,double salary)
{
//处理语句,略
}
5.事件订阅者首先要取得事件发行者的实例,事件订阅者需要向事件发行者定义事件,并告诉事件处理函数名称,以便事件产生后,事件发行者能调用到事件订阅者的事件处理函数
Employee e1=new Employee("001",5000);//生成实例
e1.OnComputerSalaryDone+=new eventcallback(SalaryHandler);
e1.ComputerSalary();
2.理解事件可以从事件发行者和事件订阅者着手
1.定义一个委托,如 public delegate void eventcallback(string empid,double salary);
2.在事件发行者中定义一个事件,并且使用之前声名的委托进行沟通
如: public event eventcallback OnComputerSalaryDone;
3.编写事件触发的方法,只要这个方法被调用,事件就会被激发
如: public void ComputerSalary()
{
OnComputerSalaryDone(empid,mdblsalary); //参数是事件的数据
}
4.在事件订阅者中编写事件处理方法,待事件产生时调用,以处理事件
public void SalaryHandler(string empid,double salary)
{
//处理语句,略
}
5.事件订阅者首先要取得事件发行者的实例,事件订阅者需要向事件发行者定义事件,并告诉事件处理函数名称,以便事件产生后,事件发行者能调用到事件订阅者的事件处理函数
Employee e1=new Employee("001",5000);//生成实例
e1.OnComputerSalaryDone+=new eventcallback(SalaryHandler);
e1.ComputerSalary();