C#委托事件随笔

时间:2022-12-01 18:50:13
 //用户去银行取钱(发布方),用户收到短信提醒,(接收方)
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);

}

}