Retrieving Even-Numbered Events : delegate event « delegate « C# / CSharp Tutorial






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();
    }
}








9.8.delegate event
9.8.1.Creating a new event.
9.8.2.delegate and event
9.8.3.A very simple event demonstration.
9.8.4.An event multicast demonstration
9.8.5.Individual objects receive notifications when instance event handlers are used
9.8.6.A static method is used as an event handler
9.8.7.Creating an event.
9.8.8.Retrieving Even-Numbered Events with the .NET Delegate Convention
9.8.9.Retrieving Even-Numbered Events
9.8.10.Advanced Event
9.8.11.Using The Event Keyword
9.8.12.delegate and Event handler