using System;
using System.Collections.Generic;
using System.Text;
namespace delegate_event
{
public delegate void simple_event(int n);
// Declare an event class.
class del_event
{
public event simple_event fire_event;
// This is called to fire the event.
public void Onfire_event(int nn)
{
if (fire_event != null)
fire_event(nn);
int n10 = 10 * nn;
Console.WriteLine("Passing through events : " + n10);
}
}
class test
{
// An event call_event.
static void call_event(int m)
{
Console.WriteLine("Access an event with a value = " + m);
}
public static void Main()
{
Console.WriteLine();
Console.Write("Enter an Integer : ");
int t = Int32.Parse(Console.ReadLine());
del_event evt = new del_event();
// Add call_event() to the event list.
evt.fire_event += new simple_event(call_event);
// Fire the event.
evt.Onfire_event(t);
Console.ReadLine();
}
}
}
|
![]() |
![]() |
| cursor returns from command line to the debug phase, initializing event
|
![]() |
![]() |
| receives a value
|
| Cursor plunges to the method call_event
|
![]() |
| Delegate (Fire-Fire ---> ) routine via delegate
|
![]() |
| Back to the called of the event
|
| end product
|