C#委托事件随笔

 //用户去银行取钱(发布方),用户收到短信提醒,(接收方)
    class Program
    {
        static void Main(string[] args)
        {
            Bank b = new Bank();                      //实例化银行
            User xm = new User("110","1278326@qq.com");         //实例化用户 
            b.send += new Bank.sendEventHandle(xm.ReviceTel);     //注册事件
            b.send += new Bank.sendEventHandle(xm.ReviceEmail);    //注册事件
            b.issure(xm);                           //执行事件
            Console.ReadKey();
        }
    }

    public class Bank {

        public delegate void sendEventHandle(object o, User xx);  //定义委托

        public event sendEventHandle send;              //基于委托的事件

        public void issure(User xx) {
            send(this,xx);
        }
    }

    public class User:EventArgs{

        public string tel;
        public string email;

        public User(string telephone, string email)
        {
            this.email = email;
            this.tel = telephone;
        }

        public void ReviceTel(object o , User x)
        {
            Console.WriteLine("收到短信"+ x.tel);

        }

        public void ReviceEmail(object o, User x)
        {
            Console.WriteLine("收到emile" + x.tel);

        }

    }
原文地址:https://www.cnblogs.com/YorkZhao/p/7800803.html