public Fax(MailManager mm) { this._mm = mm; MailManagerEventHandler del = new MailManagerEventHandler(mm_MailArrived); this._mm.MailArrived += del; // invoke add_MailArrived(del); }
public Printer(MailManager mm) { this._mm = mm; this._mm.MailArrived += _mm_MailArrived; //1) MailManagerEventHandler del = new MailManagerEventHandler(_mm_MailArrived); //2) this._mm.MailArrived += del; }
private MailManager _mm; // dichiaro istanza di mail manager che qui è puntatore vuoto (istanza nulla del notifier) public Fax(MailManager mm) // qui poi mm è un puntatore a un'istanza vera { this._mm = mm; MailManagerEventHandler del = new MailManagerEventHandler(mm_MailArrived); this._mm.MailArrived += del; // invoco add_MailArrived() }
public Printer(MailManager mm) { this._mm = mm; MailEventHandler del = new MailEventHandler(mm_MailArrived); //invoco add_MailArrived(del) this._mm.MailArrived += del; }
//non ho initialise component public Fax(MailManager mm) { this._mm = mm; //creo delegate //MailEventHandler del = new MailEventHandler(mm_MailArrived); //invoco add_MailArrived(del) this._mm.MailArrived += _mm_MailArrived; }
static void Main(string[] args) { MailManager mm = new MailManager(); Fax fax = new Fax(mm); Printer prn = new Printer(mm); mm.SimulateMailArrived("Maria", "Marco", "cena", "Usciamo stasera?"); // simulo arrivo mail mm.SimulateMailArrived("Marco", "Maria", "cena", "Lavoro"); }
static void Main(string[] args) { MailManager mm = new MailManager(); Fax fax = new Fax(mm); Printer printer = new Printer(mm); mm.SimulateMailArrived("serena", "Francesca", "salutoni", "tanti saluti,baci baci"); mm.SimulateMailArrived("Francesca", "Serena", "salutoni", "tanti saluti a te,baci baci"); }
static void Main(string[] args) { MailManager mm = new MailManager(); Fax fax = new Fax(mm); Printer prn = new Printer(mm); mm.SimulateMailArrived("Topolino", "Minni", "Cena", "Usciamo stasera?"); mm.SimulateMailArrived("Minni", "Topolino", "Cena", "No esco con Pippo"); System.Console.ReadLine(); }
public Printer(MailManager _mm) { this._mm = _mm; this._mm.MailArrived += mm_MailArrived; //+= tab tab (non costruisco il delegate, ci mette direttamente il nome metodo ma è come se facesse delegate } //lo costruisce lui behind the scenes