Simple Example of Event in C#
☰Fullscreen
Table of Content:
using System; namespace ConsoleApp1 { public class Magazine { // Define a delegate for the event public delegate void NewIssueEventHandler(); // Define an event based on the delegate public event NewIssueEventHandler NewIssueReleased; // Method to publish a new issue public void PublishNewIssue() { Console.WriteLine("Magazine: Publishing new issue."); OnNewIssueReleased(); } // Method to raise the event private void OnNewIssueReleased() { if (NewIssueReleased != null) { NewIssueReleased(); } } } public class Reader { private string name; public Reader(string name) { this.name = name; } // Event handler method public void ReceiveNewIssue() { Console.WriteLine($"{name} received the new issue."); } } public class Program { public static void Main(string[] args) { // Create an instance of the Magazine (Publisher) Magazine magazine = new Magazine(); // Create instances of Readers (Subscribers) Reader reader1 = new Reader("Alice"); Reader reader2 = new Reader("Bob"); // Subscribe to the NewIssueReleased event magazine.NewIssueReleased += reader1.ReceiveNewIssue; magazine.NewIssueReleased += reader2.ReceiveNewIssue; // Publish new issues magazine.PublishNewIssue(); magazine.PublishNewIssue(); } } }