static void Main() { Console.WriteLine("Events example - " + "Copyright 2016, Sjors van Gelderen" + Environment.NewLine); NewsManager nm = new NewsManager(); Publisher publisher = new Publisher(nm); Broadcaster[] broadcasters = { new Broadcaster(nm), new Broadcaster(nm) }; Fan[] fans = { new Fan(nm), new Fan(nm), new Fan(nm) }; nm.PublishNews("developer", "Tetris", "In development"); nm.PublishNews("developer", "Tic-Tac-Toe", "In development"); fans[1].Unsubscribe(); fans[2].Unsubscribe(); nm.PublishNews("developer", "Tetris", "Trailer released"); nm.PublishNews("developer", "Tic-Tac-Toe", "Game released"); }
public Broadcaster(NewsManager _nm) { nm = _nm; nm.publisher_event_handler += Broadcast; }
public Fan(NewsManager _nm) { nm = _nm; nm.broadcaster_event_handler += Rejoice; }
public Publisher(NewsManager _nm) { nm = _nm; nm.developer_event_handler += InformBroadcasters; }