using System;
public class EventPublisher
{
// Step 1: Define a delegate
public delegate void MyEventHandler(string message);
// Step 2: Define an event using the delegate
public event MyEventHandler MyEvent;
public void RaiseEvent()
{
if (MyEvent != null) // Ensure there are subscribers before invoking
{
MyEvent("Event triggered successfully!");
}
}
}
public class EventSubscriber
{
public void HandleEvent(string message)
{
Console.WriteLine("Subscriber received: " + message);
}
}
class Program
{
static void Main()
{
EventPublisher publisher = new EventPublisher();
EventSubscriber subscriber = new EventSubscriber();
// Step 3: Subscribe the method to the event
publisher.MyEvent += subscriber.HandleEvent;
// Step 4: Trigger the event
publisher.RaiseEvent();
}
}