public void RaiseEvent(string name) { for (int i = 0; i < EventTable[name].Count; i++) { EventListner listner = EventTable[name][i]; listner.Method(); if (listner.IsSingleShot) { EventTable[name].Remove(listner); } } }
public void AddListener(string name, EventListner listner) { if (!EventTable.ContainsKey(name)) { EventTable.Add(name, new List <EventListner>()); } if (EventTable[name].Contains(listner)) { return; } EventTable[name].Add(listner); }
void VendreOeuvre() { Conservateur cons = new Conservateur(); EventListner listner = new EventListner(cons); ressayer7 : Console.WriteLine("Saisir ID oeuvre a vendre"); string IDoeuvre_vendre = Console.ReadLine(); if ((gal.TrouveOeuvre(IDoeuvre_vendre) == false)) { Console.WriteLine("ID ouevre inexistant"); goto ressayer7; } //saisie de prix payee double nvprixpaye; ressayer8 : try { Console.WriteLine("Saisir prix payee pour l'oeuvre "); nvprixpaye = double.Parse(Console.ReadLine()); } catch (FormatException) { Console.WriteLine("prix paye doit etre numerique"); goto ressayer8; } bool test_vente = gal.VendreOeuvre(IDoeuvre_vendre, nvprixpaye); Console.WriteLine("comission va etre efacee"); cons.effacerCommission(); if (test_vente == true) { Console.WriteLine("vente completee"); } else { Console.WriteLine("vente echouee"); } //***************DETACHEMENT D'EVENEMENT********* Console.WriteLine("detachement d'evenement"); listner.detacher(); }
public static void Main(string[] args) { var broadcaster = new EventBroadcaster(); var listners = new List <EventListner>(); for (int i = 1; i < 10; i++) { var listner = new EventListner(i.ToString(CultureInfo.InvariantCulture)); listner.ListenTo(broadcaster); listners.Add(listner); } broadcaster.DoLongRunningOperationAndRaiseFinishedEvent(); Console.WriteLine("Waiting for operation to complete"); Console.ReadLine(); }
public void Add(EventListner listner) { events.Add(listner); }
public void Remove(EventListner listner) { events.Remove(listner); }