public void SimulateMailArrived(string from, string to, string subj, string body) { MailEventArgs args = new MailEventArgs() { Body = body, From = from, Subject = subj, To = to }; MailArrived?.Invoke(this, args); /* * EQUIVALENTE A : * if (MailArrived !=null) * { * MailArrived(this, args); * /*EQUIVALENTE A * foreach (var item in MailArrived.GetInvocationList().ToList()) * { * MailEventHandler mm_eh = (MailEventHandler)item; * mm_eh(this, args); * } * * } */ }
public void SimulateMailArrived(string from, string to, string subject, string body) // simulazione di sollevamento evento { MailEventArgs args = new MailEventArgs() // li ho creati nella classe delegatestuff per comodita { Body = body, From = from, Subject = subject, To = to }; // devo sollevare l'evento, quindo scorrere la lista dei delegate if (MailArrived != null) // se qualcuno si è sottoscritto { foreach (var item in MailArrived.GetInvocationList().ToList()) { MailManagerEventHandler mm_eh = (MailManagerEventHandler)item; // downcast per non avere un delegate generico mm_eh(this, args); //uso il puntatore come metodo, metto this perchè sono io che sollevo l'evento e ci passo gli argomenit } } // analogo di tutto quello che ho nell'if è MailArrived(this, args) o MailArrived?.Invoce(this, args) }
public void SimulateMailArrived(string from, string to, string subject, string body) { MailEventArgs args = new MailEventArgs() { Body = body, From = from, Subject = subject, To = to }; #region altri modi di invocare la invocation list /* * // primo metodo * MailArrived?.Invoke(this, args); * * * // secondo metodo * if (MailArrived != null) * { * MailArrived(this, args); * } */ #endregion // metodo esplicito if (MailArrived != null) { // Rise Event!!!!!!!!!! foreach (var item in MailArrived.GetInvocationList()) { MailManagerEventHandler mm_eh = (MailManagerEventHandler)item; mm_eh(this, args); } } }
private void _mm_MailArrived(object sender, MailEventArgs args) { Console.WriteLine("I'm a Printer \r\n Mail From: {0} \t\t Mail to: {1} \r\n Subject: {2}\t\t Body: {3}", args.From, args.To, args.Subject, args.Body); }
public void mm_MailArrived(Object sender, MailEventArgs e) { Console.WriteLine("i'm a PRINTER \r\n Mail From: {0}, Mail to: {1}, \r\n Subject: {2}, Body: {3}", e.From, e.To, e.Subject, e.Body); }
private void _mm_MailArrived(object sender, MailEventArgs e) { Console.WriteLine("i'm a FAX \r\n Mail From: {0}, Mail to: {1}, \r\n Subject: {2}, Body: {3}", e.From, e.To, e.Subject, e.Body); }
public void mm_MailArrived(Object sender, MailEventArgs args) { Console.WriteLine("I'm a Fax \r\n Mail From: {0} \t\t Mail to: {1} \r\n Subject: {2}\t\t Body: {3}", args.From, args.To, args.Subject, args.Body); }
public void mm_MailArrived(Object sender, MailEventArgs args) // predispongo il metodo { Console.WriteLine("I'm a Fax \r\n Mail from: {0}, Mail to: {1} \r\n Subject: {2} \t\t Body:{3}", args.From, args.To, args.Subject, args.Body); }