Usare gli eventi in C#

Mattepuffo's logo
Usare gli eventi in C#

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!


Condividi

Commentami!