//define method for raising event to notify registered objects, that event has occurred //if class "sealed" make this method "private nonvirtual" protected virtual void OnNewMail(NewMailEventArgs e) { EventHandler <NewMailEventArgs> handler = Volatile.Read(ref NewMail); if (handler != null) { handler(this, e); } }
public void SimulateNewMail(String from, String to, String subject) { NewMailEventArgs newMail = new NewMailEventArgs(from, to, subject); OnNewMail(newMail); }
private void FaxMsg(Object sender, NewMailEventArgs e) { Console.WriteLine("Faxing mail message:"); Console.WriteLine(" From={0}, To={1}, Subject={2}", e.From, e.To, e.Subject); }