Forse riesco a capire l eventi ... si ripassano insieme?
namespace DefinizioniEvento.Esercitazioni
{
// Prima PArte Della deinizione Delle Evento
// definisce il la struttira dell elevento
public class Publisher
{
// 1 define a delegate that handle the event *usare la convenzione che il nome finisce con Event Handler
public delegate void GestroreDelegatoEventHandler(Object sender, EventArgs eventArgs);
// 2 we state a event mame Evento of the Type Gestore Delegate
public event GestroreDelegatoEventHandler GestroreDelegato;
// 3 si definisce chi scatena l evento il metodo che scatena le vento per convezione si utilizza il suffisso On
public void OnGestroreDelegato()
{
if (GestroreDelegato != null) // se la lista dei sottoscriventi dell evento non è vuota
{
GestroreDelegato(this, EventArgs.Empty); /// scatena l evento
}
}
}
// seconda parte della definizione dell evento i subvscriver posso essere più di uno
// si descrive come gestire l evento , è il body del delegato
public class subscriver1
{
public void corpoEvent(Object sender, EventArgs eventArgs)
{
Console.WriteLine("ciao dal delegato1");
}
}
public class SubScriver2
{
public void corpo(Object sender, EventArgs eventArgs)
{
Console.WriteLine("ciao dal delegato2");
}
}
}
static void Main(string[] args)
{
///dichiaro entrambi i publiscer i ei subscriver
///
Publisher p = new Publisher();
subscriver1 c1 = new subscriver1();
SubScriver2 c2 = new SubScriver2();
// Si va la sottoscrizione all evento
p.GestroreDelegato += c1.corpoEvent;
p.OnGestroreDelegato();
Console.ReadLine();
}
Non ho mai visto niente di più macchinoso nella mia vita....
Si ripassano insieme?