public static void Main()
ProcessBusinessLogic bl = new ProcessBusinessLogic();
bl.ProcessCompleted += bl_ProcessCompleted;
public static void bl_ProcessCompleted(object sender, EventArgs e)
Console.WriteLine("I changed item2 to red");
ProcessBusinessLogic bl = new ProcessBusinessLogic();
bl.ProcessCompleted += bl_ProcessCompleted;
public static void bl_ProcessCompleted(object sender, EventArgs e)
Console.WriteLine("I changed item1 to blue!");
public class ProcessBusinessLogic
public event EventHandler ProcessCompleted;
public void StartProcess()
Console.WriteLine("Started the event!");
OnProcessCompleted(EventArgs.Empty);
protected virtual void OnProcessCompleted(EventArgs e)
ProcessCompleted?.Invoke(this, e);