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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 :
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 ?