当前位置:首页 > Windows程序 > 正文

写一个事件(不仅仅是为控件添加事件)

2021-03-26 Windows程序

public class MailManager { public event EventHandler<NewMailEventArgs> NewMail;//定义一个事件,其实它是一个范型委托。这个委托需要两个参数。可以按F12跟到这个委托的定义

//定义一个事件的触发方法,这里为了类型安全,声明称protect protected virtual void OnNewMail(NewMailEventArgs e)//上面定义的那个类,,在这里用来作为参数,传递信息 { //因为时间可能被很多地方调用,为了类型安全,这里不是直接操作NewMail事件 EventHandler<NewMailEventArgs> temp = Volatile.Read(ref NewMail); if (temp != null) temp(this,e); } //公开一个方法,用于把输入转化成一个期望的事件,触发事件OnNewMail public void SimulateNewMail(string from ,string to,string subject) { NewMailEventArgs e = new NewMailEventArgs(from ,to,subject); OnNewMail(e); } }

温馨提示: 本文由Jm博客推荐,转载请保留链接: https://www.jmwww.net/file/67925.html