public static void Main(string[] commandString)
var subscriber = new EventSubscriber();
subscriber.OnCertainEvent(Console.WriteLine);
subscriber.EmulateEventBeingRaised();
subscriber.OnCertainEvent(str => Console.WriteLine(str + "Me too"));
subscriber.OnCertainEvent(str => Console.WriteLine(str + "Me three"));
subscriber.EmulateEventBeingRaised();
subscriber.OnCertainEvent(str => Console.WriteLine(str + "I want in on this too!"));
subscriber.EmulateEventBeingRaised();
subscriber.EmulateEventBeingRaised();
subscriber.EmulateEventBeingRaised();
public class EventSubscriber
event Action<string> CertainEvent;
public void EmulateEventBeingRaised()
if (CertainEvent != null)
CertainEvent("Hey, we did it, " + counter + " times...");
public void OnCertainEvent(Action<string> handler)