事件实例

来源:互联网 发布:java 中介者模式 编辑:程序博客网 时间:2024/05/23 15:34
using System;


public delegate void eventDelegate();  //定义一个委托
public class senderClass
{


    public event eventDelegate eventer; //定义一个事件
    public void eventpubliser()         //定义一个方法(函数),用于调用方法(发送方法)
    {
        Console.WriteLine("我是事件的发行者");
        eventer();//触发事件
    }
}
public class reciverA
{
    public void reciverMothed()  //定义一个方法(函数),用于响应调用的方法(接收方法)
    {
        Console.WriteLine("我是事件的订阅者A");
    }
}
public class reciverB
{
    public void reciverMothed()  //定义一个方法(函数),用于响应调用的方法(接收方法)
    {
        Console.WriteLine("我是事件的订阅者B");
    }
}
class test
{


    static void Main()
    {
        senderClass sd = new senderClass();  //创建一个实例(发送方法的实例)
        reciverA reA = new reciverA();          //创建一个实例(接收方法的实例A)
  reciverB reB = new reciverB();
  eventDelegate dtA=new eventDelegate(reA.reciverMothed);//创建一个委托的实例,并将委托的方法加入进去
        sd.eventer +=dtA;  //将委托加入事件中
  eventDelegate dtB= new eventDelegate(reB.reciverMothed);
  sd.eventer +=dtB;
        sd.eventpubliser();//调用这个带有事件的方法
  sd.eventer -=dtA;//在事件的列表中删除一委托
  sd.eventpubliser();
    }
}
0 0
原创粉丝点击