Key Point
Demo
using System;
namespace EventDemo
{
public class Program
{
static void Main(string[] args)
{
Friend f1 = new Friend("Alen");
Friend f2 = new Friend("Bob");
Friend f3 = new Friend("Cindy");
Program p = new Program();
p.CallEvent += new CallHandler(f1.SendMessage);
p.CallEvent += new CallHandler(f2.SendMessage);
p.CallEvent += new CallHandler(f3.SendMessage);
p.OnCall("Any one received the message?");
Console.WriteLine("----------------------------------------");
p.CallEvent-= new CallHandler(f2.SendMessage);
p.OnCall("Any one received the message?");
Console.Read();
}
public delegate void CallHandler(string msg);
public event CallHandler CallEvent;
public void OnCall(string msg)
{
CallEvent?.Invoke(msg);
}
}
public class Friend
{
public string Name;
public Friend(string name)
{
Name = name;
}
public void SendMessage(string message)
{
Console.WriteLine(message);
Console.WriteLine(this.Name + " recevied the message.");
}
}
}