[C#] BroadCast d'événements
Je voudrais depuis une instance d'une classe générique emettre un événement et que toutes les instances de cette classe puissent traiter l'événement.
J'ai donc écrit :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
|
public class Class1
{
public delegate void myHandler (object sender, EventArgs e);
public event myHandler MyEvent;
public Class1 ()
{
}
...
MyEvent (this, e);
}
public class Class2 : Class1
{
public new delegate void myHandler (object sender, EventArgs e);
public Class2 ()
{
this.MyEvent += new myHandler (OnMyEvent);
}
public void OnMyEvent(object sender, EventArgs e)
{
}
}
public class Class3 : Class1
{
public new delegate void myHandler (object sender, EventArgs e);
public Class3 ()
{
this.MyEvent += new myHandler (OnMyEvent);
}
public void OnMyEvent(object sender, EventArgs e)
{
}
} |
Pas de Bol, ca ne fonctionne pas !
à l'appel de MyEvent j'obtiens :
Citation:
System.NullReferenceException
Est-ce que quelqu'un sait comment on fait pour envoyer proprement des événements en BroadCast. C'est pas comme ça ?
où alors est-ce impossible depuis une classe de base quand les événement seront traités dans les instances de classes hérités ?