事件2大要素
- 发布器(publisher)
是一个包含事件
和委托
定义的对象。事件和委托之间的联系也定义在这个对象中。发布器(publisher)类的对象调用这个事件,并通知其他的对象。
- 订阅器(subscriber)
是一个接受事件并提供事件处理程序的对象。将订阅器(subscriber)类中的处理方法(事件处理程序)绑定到发布器(publisher)类中的委托中。
示例
public class TestEvt
{
public static void Main(string[] args)
{
EventPublClass eventTestClass = new EventPublClass();
Mouse mouse = new Mouse();
//将订阅者处理函数 绑定 发布者事件
eventTestClass.clickHandlerEvent += mouse.mouseClick;
eventTestClass.userTriger();
}
}
internal class EventPublClass {
//1.聲明一個委托
public delegate void ClickHandler(string clickTime);
//2.聲明一個事件
public event ClickHandler clickHandlerEvent;
//3.聲明一個触发事件的方法
public void userTriger()
{
clickHandlerEvent.Invoke("鼠标事件触发");
}
}
public class Mouse
{
public void mouseClick(String brand)
{
Console.WriteLine("鼠标收到点击事件信息:{0}", brand);
}
}