Counter MyCounter = new Counter(); EvenNumberHandlerClass MyEvenNumberHandlerClass = new EvenNumberHandlerClass(); MyCounter.OnEvenNumber += new EvenNumberHandler(MyEvenNumberHandlerClass.EvenNumberFound);
/* This Example is a part of different * examples shown in Book: * C#2005 Beginners: A Step Ahead * Written by: Gaurav Arora * Reach at : gaurav.aroraose@yahoo.co.in */// File name : delegateevents.csnamespace CSharp.AStepAhead.delegateevents{ using System; public delegate void EvenNumberHandler(int Number); class Counter { public event EvenNumberHandler OnEvenNumber; public Counter() { OnEvenNumber = null; } public void CountTo100() { int CurrentNumber; for(CurrentNumber = 0; CurrentNumber <= 100; CurrentNumber++) { if(CurrentNumber % 2 == 0) { if(OnEvenNumber != null) { OnEvenNumber(CurrentNumber); } } } } } class EvenNumberHandlerClass { public void EvenNumberFound(int EvenNumber) { Console.WriteLine(EvenNumber); } } class MainClass { public static void Main() { Counter MyCounter = new Counter(); EvenNumberHandlerClass MyEvenNumberHandlerClass = new EvenNumberHandlerClass(); MyCounter.OnEvenNumber += new EvenNumberHandler(MyEvenNumberHandlerClass.EvenNumberFound); MyCounter.CountTo100(); Console.ReadLine(); } }}