EventHandler a = new EventHandler(control_RegionChanged);
EventHandler b = new EventHandler(control_RegionChanged);
if (a == b)
{
Console.WriteLine("Same!");
}
else
{
Console.WriteLine(a.GetHashCode() + " " + b.GetHashCode());
}
Cela écrit Same!
sur la console.Annulation de l'enregistrement des événements avec une nouvelle instance du délégué
control.RegionChanged += new EventHandler(control_RegionChanged);
control.RegionChanged -= new EventHandler(control_RegionChanged);
Après exécution de ce code, est le EventHandler
non enregistré?
En fait, il Est-ce que. Le compilateur le fait pour vous. – Samuel
Je viens de le tester, et - au moins dans mon test - après avoir ajouté et supprimé le gestionnaire de cette façon, cela fonctionne. – Lennaert
Ceci est simplement un raccourci, que le compilateur transforme encore en un nouveau gestionnaire d'événements. –