Table of Contents
Simple Example of Event in C#
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();
}
}
}