static void Main(string[] args) { var eventProvider = new EventProvider(); eventProvider.Event += (sender, e) => Console.WriteLine("Event fired"); eventProvider.FireEvent(); }
private void Run() { var eventProvider = new EventProvider(); eventProvider.Event += HandleEvent; Console.WriteLine("subscribed"); var unsubscribe = new Task(() => { eventProvider.Event -= HandleEvent; Console.WriteLine("unsubscribed"); }); var fireEvent = new Task(() => eventProvider.FireEvent()); fireEvent.Start(); unsubscribe.Start(); Task.WaitAll(fireEvent, unsubscribe); Console.ReadLine(); }