namespace EventDelegates { public delegate void DelItemProduced(int item);
public class producer{ public event DelItemProduced onItemProduced;
public void produceItem(){ Random r = new Random(); for (int i = 0; i < 10; i++){ onItemProduced( r.Next(1,10) ); System.Threading.Thread.Sleep(1000);//wait } } }//end class producer public class consumer{ public void consumeItem(int item){ Console.WriteLine("item produced: " + item); } }//end class consumer class Program { static void Main(string[] args) { producer p1 = new producer(); consumer c1 = new consumer();
p1.onItemProduced += new DelItemProduced(c1.consumeItem); p1.produceItem(); } }//end class program }
AugustineOfHippo2 0 points 3.0 years ago
Good point. It's just a learning exercise, and I thought generating random numbers was a fun way to simulate actually doing something.