2010-11-29 14 views
3

Je souhaite informer les abonnés aux événements de ma classe sans délai et simultanément. Dois-je lancer mon propre gestionnaire d'événements? utiliser certains de FCL supportant le parallélisme; ou par défaut intégré System.EventHandler<T> soutenir une telle notification d'événement?Parallel EventHandler

Répondre

7

Vous pouvez utiliser MulticastDelegate.GetInvocationList pour n'importe quel délégué, puis appeler uniquement tous les délégués de composant en parallèle. C'est probablement le moyen le plus facile d'y aller.

(Il retourne Delegate[] mais vous pouvez jeter chaque fois au bon type Vous pouvez même sortir avec la coulée du tableau lui-même -. Je ne me souviens pas exactement quel genre de tableau, il effectivement crée.)