委托类似一个中间代理人,他允许你将一个对象中的方法传递给另一个能调用该方法类中的某个对象,就可以将类a中的一个方法m传递给一个类b,这样类b就能调用类a中的方法了
c#事件处理函数是一个具有特定参数形式的委托对象
public delegate void EventHandler(object sender,EventNameEventArgs e);
第一个参数sender指明了触发该事件的对象,第二个参数(e)包含了在事件处理函数中可以被运用的一些数据
想要编写一个事件,要进行四个步骤
1.在事件发行者中定义一个事件;
2.在事件发行者中触发事件,
3.在事件订阅者中定义事件处理程序
4.向事件发行者订阅一个事件
出版社类
public class Publisher
{
public delegate void C(string name); //声明委托
public event C c1 //声明事件
public void b() //触发事件的方法
委托允许将方法作为参数进行传递
使用委托分四个步骤:
1.委托定义
2.声明委托
3.委托实例化(可以和声明放到一起)
大致是这个样子的
4.委托调用
private delegate void a(int b)