Usare gli eventi in C#
In C# attraverso gli eventi possiamo notificare gli utenti all'esecuzione di determinate operazioni.
In questo articolo vediamo un esempio in cui simuliamo la creazione di un ordine e scateniamo due eventi che abbiamo precedentemente sottoscritto.
Non ci servono librerie esterne.
Inoltre per semplicità ho messo tutto insieme:
using System;
public delegate void MyNotificationHandler(string msg);
class Program
{
static void Main(string[] args)
{
OrdiniService os = new OrdiniService();
NotificationService ns = new NotificationService();
os.CreazioneOrdine += ns.Notifica1;
os.CreazioneOrdine += ns.Notifica2;
os.CreaOrdine("OR1");
}
}
public class OrdiniService
{
public event MyNotificationHandler CreazioneOrdine;
public void CreaOrdine(string orderId)
{
Console.WriteLine("Ordine creato: " + orderId);
if (CreazioneOrdine != null)
{
CreazioneOrdine($"Ordine {orderId} creato");
}
}
}
public class NotificationService
{
public void Notifica1(string msg)
{
Console.WriteLine("Notifica 1: " + msg);
}
public void Notifica2(string msg)
{
Console.WriteLine("Notifica 2: " + msg);
}
}
Noi ci limitiamo a stampare in console, considerate che magari li ci mettete l'invio di una email, sms, ecc.
Enjoy!
c# delegate event
Commentami!