Bonjour,
j'ai une classe qui doit réagir à un certains nombre d'événements d'un certain type. J'aimerais que l'utilisateur de la classe puisse ajouter lui même ces événements.
Je pensais à une classe comme çà :
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
|
public class Class1
{
//liste des événements auquel la classe doit régir
private List<EventHandler> _Events = new List<EventHandler>();
public Class1(EventHandler e)
{
//au moins un événement dans _Events.
_Events.Add(e);
}
//inscrit "Method" pour chaque événement
public void ManageEvents()
{
foreach (EventHandler e in _Events)
e += new EventHandler(Method);
}
//traite les événements
public void Method(object sender, EventArgs e)
{
}
public List<EventHandler> Events
{
get { return _Events; }
}
} |
Mais je rencontre 2 problèmes :
- Le premier à mon avis est insolvable : l'utilisateur ne peux ajouter que des événements qu'il à lui même définit. On ne pourra pas écrire :
1 2
|
maClasse.Events.add(button1.Click). Je me trompe ? |
-
e += new EventHandler(Method);
produit une erreur car e est en lecture seule. Savez-vous comment résoudre ce problème ?
merci d'avance,
Mathmax
Partager